Thank you for your interest to contribute to Hyperledger Cactus! 🎉
First things first, please review the Hyperledger Code of Conduct before participating.
There are many ways to contribute to Hyperledger Cactus, both as a user and as a developer.
As a user, this can include:
As a developer:
- if you only have a little time, consider picking up a “help-wanted” or "good-first-issue" task
- If you can commit to full-time development, then please contact us on our Rocketchat channel to work through logistics!
To protect the Hyperledger Cactus source code, GitHub pull requests are accepted from forked repositories only. There are also quality standards identified and documented here that will be enhanced over time.
- Fork hyperledger/cactus via Github UI
- Clone the fork to your local machine
- Complete the desired changes and where possible test locally (more detail to come here)
- Commit your changes
- Make sure you sign your commit using
git commit -s
for more information see here - Make sure your commit message follows Conventional Commits syntax; this aids in release notes generation
- Make sure you sign your commit using
- Push your changes to your master
- Initiate a pull request from your fork to the base repository
- Await CI, DCO & linting quality checks, as well as any feedback from reviewers
For example web3 can be added as a dependency to the besu ledger connector plugin's package this way:
npx lerna add web3@latest --scope '*/*plugin-ledger-connector-besu' --exact # [--dev] [--peer]
If you are adding a development dependency you can use the --dev
option and --peer
for a peer dependency.
For example the cactus-test-tooling
can be added as a dev dependency to the besu ledger connector plugin's package this way:
npx lerna add @hyperledger/cactus-test-tooling --scope '*/*plugin-ledger-connector-besu' --exact --dev
Or add the common library to allow you the usage of the logger for example:
npx lerna add @hyperledger/cactus-common --scope '*/*plugin-ledger-connector-quorum' --exact --dev