-
Notifications
You must be signed in to change notification settings - Fork 282
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(connector-iroha2): sending transactions signed on the client-side #2168
Conversation
This PR/issue depends on:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
- Add a new test image for Iroha V2 (iroha2-all-in-one). It start a test ledger in single container, and also contains a proxy script for running iroha_client_cli. - Add the new image to the CI. - Add a new class for starting and interacting with Iroha V2 test ledger from typescript test - Iroha2TestLedger. - Add test for test setup class to ensure basic functions are working correctly. Relates to hyperledger-cacti#2138 Signed-off-by: Michal Bajer <michal.bajer@fujitsu.com>
- Add new Iroha V2 cactus connector. - Two OpenAPI endpoints are implemented: `transact` and `query`. Both endpoints support critical subset of instructions and queries supported by the upstream javascript iroha sdk. - One SocketIO endpoint can be used to monitor new blocks from the ledger. - New connector can be used through a verifier-client interface. - All added functions are tested in functional test suites and documented. - Added execution of Iroha2 tests to the CI. Additional notes: - Connector doesn't work well with cactus module system, the issue has been reported and described in README. PR is not merge-ready until this is fixed (the CI should fail now). - Iroha V2 javascript packages are not available on official npm yet, had to include `.npmrc` with private npm address. I'm not sure if there's ETA of delivering these through NPM, so it might be necessary to commit it after all. Closes hyperledger-cacti#2138 Depends on hyperledger-cacti#2140 Signed-off-by: Michal Bajer <michal.bajer@fujitsu.com>
- Add new endpoint `generate-transaction`, to create unsigned transactions that can be signed on the client side. - Add a function to iroha2-connector package to help signing iroha transactions on the client (BLP) side. - Extend transact endpoint to accept signed transaction as an argument as well. - Add new test suite to check features implemented in this PR (i.e. signing on the client side). Relates to hyperledger-cacti#2077 Depends on hyperledger-cacti#2153 Signed-off-by: Michal Bajer <michal.bajer@fujitsu.com>
8b74234
to
ddb7d7b
Compare
- Add a new argument to transact endpoint to wait for transaction commit. When this flag is true, request will return with final transaction status (commit / reject). - Add new transaction hash to all the responses from the transact endpoint. - Alter tests to wait for status instead of waiting for X seconds to make them more reliable. - Add new tests to check this PR features. Relates to hyperledger-cacti#2077 Depends on hyperledger-cacti#2168 Signed-off-by: Michal Bajer <michal.bajer@fujitsu.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@outSH Please resolve the merge conflicts! (also squash+rebase)
@petermetz Thanks, I'll probably open a single PR for whole IrohaV2-related work, will be easier to manage I think (I was expecting it will go little smoother ;) ) |
This is improvement to initial Iroha V2 PR. Please review only the last commit.
generate-transaction
, to create unsigned transactionsthat can be signed on the client side.
on the client (BLP) side.
Relates to #2077
Depends on #2153
Signed-off-by: Michal Bajer michal.bajer@fujitsu.com