-
Notifications
You must be signed in to change notification settings - Fork 403
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
Add Support for Hyperledger Besu #616
Conversation
@shemnon - thanks for raising the PR, at the moment the build is breaking at the license check stage ... it would appear that you need to add the besu sample to the ignore list at the package level within the A |
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.
If you apply my small fixes (sleep, and image tag) and run the following, it works fine:
node ../caliper-cli/caliper.js benchmark run --caliper-workspace . --caliper-benchconfig benchmark/simple/config.yaml --caliper-networkconfig network/besu/1node-clique/ethereum.json
But if you change the number of local clients to 2 in benchmark/simple/config.yaml
, then it will hang after a while, the unfinished TXs won't decrease, probably because of the locally maintained nonce.
packages/caliper-samples/network/besu/1node-clique/ethereum.json
Outdated
Show resolved
Hide resolved
@shemnon I would say that leave this as it is (after fixing the license issues), and extend the Ethereum docs page with the Besu support, and note that currently only a single client is supported. |
c369b95
to
8ac9f7c
Compare
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.
As discussed yesterday, the Besu PRs will be merged as-is. The last thing is to squash your commits, and it's good to go 👍
Most of the existing ethereum adapter works fine for Besu except for two major issues: Besu does not have wallet support (and never will as an architectual choice) and hence the automatic management of nonces no longer works. First, we add two new config vars contractDeployerAddressPrivateKey and fromAddressPrivateKey and if present prefer the 'raw' transaciton APIs. Second in the main transaction loop we track the nonce of the current transaction so this can set the nonces appropriately. Finally we add in gas estimation rather than a hard coded gas number so that blocks can be as full as possible. Besu has a slightly different genesis config from geth, so a besu config directory in the samples is added. The samples network only uses Clique right now because PoW is not something enterprises should be deploying. Signed-off-by: Danno Ferrin <[email protected]>
squashed |
Most of the existing ethereum adapter works fine for Besu except for two
major issues: Besu does not have wallet support (and never will as an
architectual choice) and hence the automatic management of nonces no
longer works.
First, we add two new config vars contractDeployerAddressPrivateKey and
fromAddressPrivateKey and if present prefer the 'raw' transaciton APIs.
Second in the main transaction loop we track the nonce of the current
transaction so this can set the nonces appropriately.
Finally we add in gas estimation rather than a hard coded gas number
so that blocks can be as full as possible.
Besu has a slightly different genesis config from geth, so a besu config
directory in the samples is added. The samples network only uses Clique
right now because PoW is not something enterprises should be deploying.
Signed-off-by: Danno Ferrin [email protected]
Checklist
Issue/User story
Steps to Reproduce
Existing issues
Design of the fix
Validation of the fix
Automated Tests
What documentation has been provided for this pull request