Cover photo

Гайд по установке Sui (devnet)

О проекте

Sui — это первый паблик блокчейн 1го уровня, разработанный с нуля, цель которого позволить создателям и разработчикам создать то, чем будет пользоваться следующий миллиард пользователей web3.

Фонды

Собрали более 300 миллионов от FTX Ventures, a16z crypto, Jump Crypto, Apollo, Binance Labs, Franklin Templeton, Coinbase Ventures, Circle Ventures, Lightspeed Venture Partners, Sino Global, Dentsu Ventures, Greenoaks Capital, и O’Leary Ventures.

Требования

  • CPU: 4 cores

  • RAM: 16GB

  • SSD: 500GB

  • OS: Ubuntu 20.04

Установка

Обновляем пакеты

sudo apt update && sudo apt upgrade -y

Устанавливаем необходимые зависимости

sudo apt install wget jq git libclang-dev cmake -y

Устанавливаем Rust

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

Проверяем версию

:rustc --version

#Создаем директорию для ноды
mkdir $HOME/.sui
#Клонируем репозиторий
git clone https://github.com/MystenLabs/sui.git --branch devnet
#Переходим в папку
cd sui
#Билдим бинарники. Может занять прилично времени, зависит от мощности процессора 
cargo build --release
#Если лень ждать или выдает ошибки, качаем уже собранные бинарные файлы (копируем все сразу)
version=`wget -qO- https://api.github.com/repos/SecorD0/Sui/releases/latest | jq -r ".tag_name"`; \ 
wget -qO- "https://github.com/SecorD0/Sui/releases/download/${version}/sui-linux-amd64                                                                

Перемещаем бинарные файлы в папку с бинарными файлами (если билдили самостоятельно)

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

Копируем конфиг

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

Редачим конфиг

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

Открываем используемые порты

sudo ufw allow 9000 && sudo ufw allow 9184

Создаем сервисный файл

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

Запускаем сервис

sudo systemctl daemon-reload sudo systemctl enable suid sudo systemctl restart suid && journalctl -u suid -f

Проверяем свою ноду в чекере https://node.sui.zvalid.com/ Чтобы узнать IP своего сервера, используем команду

wget -qO- eth0.me