🇫🇷 Déploiement nœud Sui Devnet

13_sui_devnet.png

  1. Installer les dépendances Linux

    sudo apt-get update \
    && sudo apt-get install -y --no-install-recommends \
    tzdata \
    ca-certificates \
    build-essential \
    libssl-dev \
    libclang-dev \
    pkg-config \
    cmake
    
  2. Installer Rust

    sudo curl https://sh.rustup.rs -sSf | sh -s -- -y
    source $HOME/.cargo/env
    
  3. Créer un répertoire pour la base de données SUI et le fichier d'état de la genèse

    mkdir -p /var/sui/db
    
  4. Cloner le référentiel GitHub SUI

    cd $HOME
    git clone https://github.com/MystenLabs/sui.git
    cd sui
    git remote add upstream https://github.com/MystenLabs/sui
    git fetch upstream
    git checkout --track upstream/devnet
    
  5. Faites une copie de fullnode.yaml et mettez à jour le chemin d'accès à la base de données et au fichier d'état de la genèse

    cp crates/sui-config/data/fullnode-template.yaml /var/sui/fullnode.yaml
    sed -i.bak "s/db-path:.*/db-path: \"\/var\/sui\/db\"/ ; s/genesis-file-location:.*/genesis-file-location: \"\/var\/sui\/genesis.blob\"/" /var/sui/fullnode.yaml
    
  6. Télécharger le fichier d'état de la genèse

    wget -P /var/sui https://github.com/MystenLabs/sui-genesis/raw/main/devnet/genesis.blob
    
  7. Construire des binaires SUI

    sudo apt install libpq-dev -y
    cargo build --release
    mv ~/sui/target/release/sui-node /usr/local/bin/
    mv ~/sui/target/release/sui /usr/local/bin/
    
  8. Créer un fichier de service pour le nœud SUI

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

[Service]
User=$USER
Type=simple
ExecStart=/usr/local/bin/sui-node --config-path /var/sui/fullnode.yaml
Restart=on-failure
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target" > $HOME/suid.service

mv $HOME/suid.service /etc/systemd/system/

sudo tee <<EOF >/dev/null /etc/systemd/journald.conf
Storage=persistent
EOF
  • Démarrer le nœud complet SUI en tant que service

    sudo systemctl restart systemd-journald
    sudo systemctl daemon-reload
    sudo systemctl enable suid
    sudo systemctl start suid
    journalctl -u suid -f
    
  • Ouvrir les ports de pare-feu 9000 et 9184

    sudo ufw allow 9000
    sudo ufw allow 9184
    

Voici les étapes pour mettre à jour le nœud exécuté dans Systemd Service vers la nouvelle version

  1. Arrêtez le service SUI

    systemctl stop suid
    
  2. Supprimez les anciens fichiers sui db et genesis (ou placez-y le chemin de votre répertoire

    rm -rf /var/sui/db/* /var/sui/genesis.blob
    
  3. Récupérer la dernière version du référentiel GitHub SUI

    cd $HOME/sui
    git fetch upstream
    git reset --hard upstream/devnet
    
  4. Télécharger le fichier d'état de la genèse

    wget -P /var/sui https://github.com/MystenLabs/sui-genesis/raw/main/devnet/genesis.blob
    
  5. Construire des binaires SUI

    cargo build --release
    mv ~/sui/target/release/sui-node /usr/local/bin/
    mv ~/sui/target/release/sui /usr/local/bin/
    
  6. Redémarrer le service de nœud complet SUI

    sudo systemctl restart suid
    

Déploiement SUIMON - dans le terminal SUI Node Monitoring Tools

wget -O $HOME/suimon_install.sh https://raw.githubusercontent.com/bartosian/sui_helpers/main/suimon/install.sh && \
chmod +x $HOME/suimon_install.sh && \
$HOME/suimon_install.sh && \
rm $HOME/suimon_install.sh

Lien vers github par K | BartestneT https://github.com/bartosian/sui_helpers/tree/main/suimon