title |
---|
Contributing to Sui |
This page describes how to add to Sui. If you merely need to get the Sui binaries, follow Install Sui.
This site is available in two versions in the menu at top left: the default and stable Devnet branch and the Latest build upstream main
branch. Use the devnet
version for app development on top of Sui. Use the Latest build main
branch for contributing to the Sui blockchain as described on this page. Always check and submit fixes to the main
branch.
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: doc@mystenlabs.com
Or report them in the #docs channel of Discord.
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. Make sure you are in the main
rather than devnet
branch by being on the Latest build upstream view as described at the top of this page.
Simply edit the file in question and generate a pull request. You may even use our Sui doc templates to create overviews and procedures (uses).
Then send your work our way. 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.
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.
- Find related research papers.
- See and adhere to our code of conduct.