CHAIN DIGITAL | services for nodes
  • About CHAIN DIGITAL
  • Testnets
    • Celestia
      • Install
        • Full node
        • Bridge node
      • Upgrade
      • API/Snapshot/AddrBook
      • Useful Commands
      • Monitoring a Celestia consensus node
      • Celestia Validator monitoring guide with tenderduty
    • Walrus
      • Guide for Node Operators
  • MAINNETS
    • Celestia
      • Install
        • Full node
        • Bridge node
      • Upgrade
      • Useful Commands
    • Kusama
      • Install
      • Upgrade
      • RPC and Snapshot
      • Useful Commands
    • Polkadot
      • Install
      • Upgrade
      • RPC and Snapshot
      • Useful Commands
    • Sui
      • Sui Full Node
      • Sui Validator Node
  • VALIDATOR SECURITY
    • Server Security for Validators
Powered by GitBook
On this page
  • Install
  • Clone the Repository and Build Sui
  • Configure the Full Node
  • Start the Node
  • Verify Node Status
  • Update the Node
  1. MAINNETS
  2. Sui

Sui Full Node

Recommended Hardware: 8 physical cores / 16 vCPUs, 128 GB RAM, 4 TB of storage (NVME)

Install

Update packages and install necessary dependencies:

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git build-essential libssl-dev pkg-config libclang-dev cmake

Install Rust:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
rustup update
rustup default stable

Clone the Repository and Build Sui

Clone the Sui repository:

git clone https://github.com/MystenLabs/sui.git
cd sui

Switch to the latest stable version:

git checkout -b stable origin/stable

Build the binaries:

cargo build --release

Add binaries to your PATH:

sudo mv ~/sui/target/release/sui* /usr/local/bin/

Configure the Full Node

Create a directory for configuration:

mkdir -p ~/sui/data
cd ~/sui

Download the configuration template:

wget -O ~/sui/fullnode-template.yaml https://github.com/MystenLabs/sui/raw/main/crates/sui-config/data/fullnode-template.yaml

Edit the configuration: Open the fullnode-template.yaml file and set data storage paths, for example:

db-path: "/home/username/sui/data/db"
network-address: "/ip4/0.0.0.0/tcp/8080"
p2p-config: "/home/username/sui/data/p2p"

Download the genesis file:

wget -O ~/sui/data/genesis.blob https://github.com/MystenLabs/sui-genesis/raw/main/mainnet/genesis.blob

Start the Node

Run the node in the background:

sui-node --config-path ~/sui/fullnode-template.yaml

Create a systemd service for automated startup:

sudo nano /etc/systemd/system/sui.service

Add the following content:

[Unit]
Description=Sui Node
After=network.target

[Service]
User=your_username
ExecStart=/usr/local/bin/sui-node --config-path /home/your_username/sui/fullnode-template.yaml
Restart=on-failure
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target

Enable and start the service:

sudo systemctl enable sui
sudo systemctl start sui

Verify Node Status

Check logs:

journalctl -u sui -f

Ensure the node is synchronized: The logs should show synchronization with the network.

Check open ports: Ensure that ports 8080 and 9000 are accessible.


Update the Node

Stop the node:

sudo systemctl stop sui

Update the code:

cd ~/sui
git pull origin stable
cargo build --release
sudo mv ~/sui/target/release/sui* /usr/local/bin/

Restart the node:

sudo systemctl start sui
PreviousSuiNextSui Validator Node

Last updated 6 months ago