Mysten Node Deployment
From Chainlink Community Wiki
Deploying a Mysten Mainnet Node
Install Dependencies
First we'll install some packages available in the standard repos
sudo apt install curl wget git build-essential cmake tzdata ca-certificates libssl-dev pkg-config libclang-dev
Install Rust and Cargo
curl https://sh.rustup.rs -sSf | sh
If successful, you should see the below:
Rust is installed now. Great!
To get started you may need to restart your current shell.
This would reload your PATH environment variable to include
Cargo's bin directory ($HOME/.cargo/bin).
To configure your current shell, run:
source $HOME/.cargo/env
Next, end your current TTY session and reconnect to reload your profile
Once you've reconnected we'll make sure we're running the latest stable release.
(we need to be at or above version 1.60.0)
rustup update stable
Download and install the Sui binaries
cargo install --locked --git https://github.com/MystenLabs/sui.git --branch "devnet" sui
Fork and Clone the Mysten Sui Repo
Navigate to https://github.com/MystenLabs/sui and click on the Fork button in the top-right
Once forked, we'll clone our repo
https://github.com/$YOUR_GITHUB_USERNAME/sui.git
Now, change into the newly downloaded directory.
cd sui
Then, set the original repo as a git remote.
git remote add upstream https://github.com/MystenLabs/sui
Sync with the remote repo, and checkout the `devnet` branch
git fetch upstream && git checkout --track upstream/devnet
Make a copy of the full node config file
cp crates/sui-config/data/fullnode-template.yaml fullnode.yaml
Create a hidden directory for your Sui database
mkdir ~/.suidb
And lastly, download the genesis state for devnet. curl -fLJO https://github.com/MystenLabs/sui-genesis/raw/main/devnet/genesis.blob
Once we've accomplished the above, we want to update out fullnode.yaml file to make sure that it has the configurations applicable to our environment. The below examples are assuming you followed this document.
- node:* Be sure to update the placeholder variables below.
db-path: "/home/$USERNAME/.suidb"
network-address: "/dns/localhost/tcp/8080/http"
metrics-address: "127.0.0.1:9184"
json-rpc-address: "$YOUR_LOCAL_IP:9000"
genesis:
# Update this to the location of where the genesis file is stored
genesis-file-location: "/home/$USERNAME/sui/genesis.blob"
Now that is all sorted, let's make certain that we're in the sui directory
cd ~/sui
And then start our local full node.
cargo run --release --bin sui-node -- --config-path /home/$USERNAME/sui/fullnode.yaml