Sui node setup guide

Install Sui node

Update packages and Rust

sudo apt update && sudo apt upgrade -y 
sudo apt install wget jq git libclang-dev libpq-dev cmake -y ⠀
 . <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/installers/rust.sh)

Create direcory for Sui and build binaries

mkdir -p $HOME/.sui
git clone https://github.com/MystenLabs/sui

cd sui
⠀
git remote add upstream https://github.com/MystenLabs/sui
⠀
git fetch upstream

git checkout -B devnet --track upstream/devnet (for devnet)

git checkout -B testnet --track upstream/testnet (for testnet)

cargo build --release

Move binaries and download genesis for devnet or mainnet

mv $HOME/sui/target/release/{sui,sui-node,sui-faucet} /usr/bin/
cd
wget -qO $HOME/.sui/genesis.blob https://github.com/MystenLabs/sui-genesis/raw/main/devnet/genesis.blob
wget -qO $HOME/.sui/genesis.blob https://github.com/MystenLabs/sui-genesis/blob/main/testnet/genesis.blob?raw=true

Copy config:

cp $HOME/sui/crates/sui-config/data/fullnode-template.yaml \ $HOME/.sui/fullnode.yaml

Edit config:

sed -i -e "s%db-path:.*%db-path: \"$HOME/.sui/db\"%; "\ "s%metrics-address:.*%metrics-address: \"0.0.0.0:9184\"%; "\ "s%json-rpc-address:.*%json-rpc-address: \"0.0.0.0:9000\"%; "\ "s%genesis-file-location:.*%genesis-file-location: \"$HOME/.sui/genesis.blob\"%; " $HOME/.sui/fullnode.yaml

Create service:

printf "[Unit]
Description=Sui node
After=network-online.target
[Service]
User=$USER
ExecStart=which sui-node --config-path $HOME/.sui/fullnode.yaml
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target" > /etc/systemd/system/suid.service

Restart service:

sudo systemctl daemon-reload
sudo systemctl enable suid