Welcome to the Sui development environment! 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 itself. Always check and submit fixes to the
To immediately get started using Sui:
- Meet the prerequisites.
- Install the binaries.
- Configure an Integrated Development Environment (IDE).
- Request SUI tokens to evaluate Devnet and Sui Wallet
- Optionally, download the source code to have local access to examples and modify Sui itself.
Tip: Assuming you on macOS or Linux, have
curl, Rust Cargo, the
gitcommand, and a GitHub account (see Prerequisites), you can download the
sui-setup.shscript and run it to conduct all of the setup below, including removal of any existing sui assets. To use it, run these commands in a terminal:
$ curl https://raw.githubusercontent.com/MystenLabs/sui/main/doc/utils/sui-setup.sh -o sui-setup.sh chmod 755 sui-setup.sh ./sui-setup.sh
The following operating systems (OSes) have been tested and are supported for running Sui:
At a minimum, you should have a machine capable of installing command line tools (namely, a terminal). First install the packages outlined this section. Then add the additional dependencies below for your operating system.
Here are the packages required by operating system:
|C++ build tools||X|
Follow the instructions below to install them. Then install the Sui binaries.
Finally, if you will be altering Sui itself, also obtain the Sui source code.
For simplicity, we recommend installing in
~/sui or using an environment variable.
Important: You will need to restart your command prompt after installing these prerequisites for them to be available in your environment.
In macOS, first install Brew to install other packages:
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Ensure each of the packages below exist on each OS:
Confirm that you can run the
curl command to download dependencies.
See whether you already have curl installed by running:
$ which curl
And if you see no output path, install it with:
$ apt install curl
$ brew install curl
Microsoft Windows Download and install from: https://curl.se/windows/
Sui is written in Rust, and we are using the latest version of the Cargo toolchain to build and manage the dependencies. You will need Cargo to build and install Sui on your machine.
Get rustup to install Rust and Cargo:
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Then update the packages with:
$ rustup update stable
Warning: If you run into issues, you may un-install Rust and Cargo with:
$ rustup self uninstall
And then start the Rust install over. For more details, see: https://www.rust-lang.org/tools/install
Download and install the
git command line interface
for your operating system.
cmake command to build Sui:
$ apt install cmake
$ brew install cmake
Download and install from: https://cmake.org/download/
If you run into issues, follow this detailed CMake Installation tutorial.
In Linux, install:
$ apt install libssl-dev
$ apt install libclang-dev
In macOS, other than the aforementioned Brew package manager, the general prerequisites are sufficient.
In Microsoft Windows 11, also install:
For Windows on ARM64 only - Visual Studio 2022 Preview
Tip: The installation progress might appear hanging if the
cmd.exewindow loses focus; press the
enterkey in the command prompt fix the issue.
Known Issue: The
sui consolecommand does not work in PowerShell.
To develop in Sui, you will need the Sui binaries. After installing
$ cargo install --locked --git https://github.com/MystenLabs/sui.git --branch "devnet" sui sui-gateway
This will put the following binaries in your
PATH (ex. under
~/.cargo/bin) that provide these command line interfaces (CLIs):
sui- The Sui CLI tool contains subcommands for enabling
genesisof validators and accounts, starting the Sui network, and building and testing Move packages , as well as a client for interacting with the Sui network.
rpc-server- run a local Sui gateway service accessible via an RPC interface.
macOS and Linux
Confirm the binaries are installed with:
$ echo $PATH
Confirm the binaries are installed with:
$ echo %PATH%
And ensure the
.cargo/bin directory appears. Access the help for any of these binaries by passing the
--help argument to it.
Important: Make sure your entire toolchain stays up-to-date. If you encounter issues building and installing the Sui binaries, update all packages above and re-install.
Integrated Development Environment
For Move development, we recommend the Visual Studio Code (vscode) IDE with the Move Analyzer language server plugin installed:
$ cargo install --git https://github.com/move-language/move move-analyzer --features "address20"
Then follow the Visual Studio Marketplace instructions to install the Move Analyzer extension. (The
cargo install command for the language server is broken there; hence, we include the correct command above.)
To request SUI test tokens:
- Join the Sui Discord If you haven’t already.
- Identify your address through either the Sui Wallet Browser Extension or by running the following command and electing to connect to a Sui RPC server if prompted:
$ sui client active-address
- Request tokens in the #devnet-faucet channel using the syntax:
!faucet <YOUR_ADDRESS>, for example:
- A bot on the channel will distribute tokens to you automatically.
If you need to download and understand the Sui source code: https://github.com/MystenLabs/sui
Clone the Sui repository:
$ git clone https://github.com/MystenLabs/sui.git --branch devnet
You can start exploring Sui's source code by looking into the following primary directories:
- sui - the Sui CLI binary
- sui_programmability - Sui's Move language integration also including games and other Move code examples for testing and reuse
- sui_core - authority server and Sui Gateway
- sui-types - coins, gas, and other object types
- explorer - object explorer for the Sui network
- sui-network - networking interfaces
See the Rust Crates in use at:
- https://mystenlabs.github.io/sui/ - the Sui blockchain
- https://mystenlabs.github.io/narwhal/ - the Narwhal and Bullshark consensus engine
- https://mystenlabs.github.io/mysten-infra/ - Mysten Labs infrastructure
To contribute updates to Sui code, send pull requests our way.
NOTE: the above
git clonecommand syncs with the
devnetbranch, which makes sure the source code is compatible with our Devnet. If you want to run network locally using the latest version and don't need to interact with our Devnet, you should switch to
Continue your journey through: