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.
See our roadmap
Sui is evolving quickly. See our roadmap for the overall status of Sui, including timelines for launching devnet, testnet, and mainnet.
Join the community
To connect with the Sui community, join our Discord.
File issues
Report bugs and make feature requests in the Sui GitHub repository using the Template for Reporting Issues.
Provide docs feedback
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.
Download Sui
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
Send pull requests
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.
Further reading
- 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.
- Find related research papers.
- See and adhere to our code of conduct.