Skip to content
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

Closed
wants to merge 4 commits into from

Conversation

outSH
Copy link
Contributor

@outSH outSH commented Oct 4, 2022

This is improvement to initial Iroha V2 PR. Please review only the last commit.

  • 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 #2077

Depends on #2153

Signed-off-by: Michal Bajer michal.bajer@fujitsu.com

@github-actions
Copy link

github-actions bot commented Oct 4, 2022

This PR/issue depends on:

Copy link
Contributor

@izuru0 izuru0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@jagpreetsinghsasan jagpreetsinghsasan left a 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>
outSH added a commit to outSH/cactus that referenced this pull request Oct 14, 2022
- 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>
Copy link
Contributor

@petermetz petermetz left a 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)

@outSH
Copy link
Contributor Author

outSH commented Nov 16, 2022

@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 ;) )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants