title |
---|
Contributing to Sui |
This page describes how to add to Sui. If you merely need to get the Sui binaries, follow Install Sui.
Find answers to common questions in our FAQ. Read other sub-pages in this section for ways to contribute to Sui.
Sui is evolving quickly. See our roadmap for the overall status of Sui, including timelines for launching Devnet, Testnet, and Mainnet.
To connect with the Sui community, join our Discord.
Report bugs and make feature requests in the Sui GitHub repository using the Template for Reporting Issues.
Send ideas to: [email protected]
And file documentation fixes or requests for improvement at: https://github.com/MystenLabs/sui/issues/new/choose
Select the Sui Doc Bug template, adjust fields, and describe the issue.
You may also make changes to the docs directly in GitHub right here using the Source Code link below.
Important: Make sure you are in the
main
rather thandevnet
branch in the URL.
Simply edit the file in question and generate a pull request. We will get back to you shortly.
In order to obtain the Sui source code, follow the steps to download (git clone
) the sui
repository
at Install Sui.
Tip: The install docs recommend use of the
devnet
branch as the last stable release. To instead contribute changes to Sui, use themain
branch.
And see the Rust Crates in use at:
- https://mystenlabs.github.io/sui/ - the Sui blockchain
- https://mystenlabs.github.io/narwhal/ - the Narwhal and Tusk consensus engine
- https://mystenlabs.github.io/mysten-infra/ - Mysten Labs infrastructure
Start by creating your own fork of the repo:
$ gh repo fork https://github.com/mystenlabs/sui.git # or alternatively, clone your fork
cargo install --path sui/sui # put Sui CLI's in your PATH
cd sui
cargo build --all --all-targets # check that build works
cargo test # check that tests pass
To submit your pull request:
- Make your changes in a descriptively named branch.
- If you have added code that should be tested, add unit tests.
- Ensure your code builds and passes the tests:
cargo test
- Make sure your code passes the linters and autoformatter:
cargo clippy --all --all-targets && cargo fmt --all
- If you have made changes to APIs, update the relevant documentation, and build and test the developer site.
- Run
git push -f origin <branch_name>
, then open a pull request from the Sui GitHub site.
- Learn about Mysten Labs the company on our public site.
- Read the Sui Smart Contract Platform white paper.
- Implementing logging in Sui to observe the behavior of your development.
- Employ performance profiling on macOS.
- Find related research papers.
- See and adhere to our code of conduct.