SUI Node Guide - Pirate in Crypto
Подготовка.
Привет. Для начала вам нужно установить MobaxTerm. Я давненько сделал большой гайд по этой программе, все очень подробно расписал вот тут.
Теперь нужно взять какой-нибудь сервак. Для Sui необходимо Ubuntu 22.04. Я использую мегаудобный хостинг с оптимальными тарифами VDSina, очень удобный сервис. Для Sui беру сервак - 2|4|60 - за 24.6руб в сутки.
Для того, чтобы арендовать сервак - нажимаем кнопку создать сервер.
Выбираем операционную систему, я по стандарту беру Ubuntu 22.04, большинство нод используют именно эту ОС.
На выбор нам дает 2 варианта: 2|4|60 и 1|1|30, второй вариант подойдет для самых не требовательных нод, нам больше всего подходит именно первый вариант, поэтому выбираем его.
Резервная копия не обязательна, поэтому отказываемся, лишние затраты нам не к чему. Локация сервера тоже не особо важна, но только для суи, для некоторых нод есть ограничения в локации, поэтому нужно заранее все узнать, прежде чем арендовать сервер. Нажимаем кнопку создать.
После создания сервера, вам будет доступен IP адрес, нажимаем на него, во вкладке доступ, нажимаем на кнопочку глаза и получаем пароль, для доступа на сервер.
Установка.
На выбор можно выбрать два пути: Использовать однострочный скрипт от Nodes Guru(Самый простой вариант):
wget -O sui.sh https://api.nodes.guru/sui.sh && chmod +x sui.sh && ./sui.sh
sudo apt install curl
curl -s -X POST http://127.0.0.1:9000 -H 'Content-Type: application/json' -d '{ "jsonrpc":"2.0", "method":"rpc.discover","id":1}' | jq .result.info
Установка занимает примерно 15-20 минут.
Либо по хардкору использовать официальную документацию и устанавливать по ней, я лично извращенец, который любит такое дело, поэтому буду устанавливать по официальной документации.
Приступим. Подготовка.
Для начала, нужно установить все зависимости, то есть make clang pkg-config libssl-dev libclang-dev build-essential git curl ntp jq llvm tmux htop screen unzip cargo cmake. Все делается автоматически. Просто копируем всё и вставляем в консоль.
sudo apt update && sudo apt upgrade -y
sudo apt install make clang pkg-config libssl-dev libclang-dev build-essential git curl ntp jq llvm tmux htop screen unzip cargo cmake -y
wget https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh "y" и нажмите на "1"
Sui просит всех сделать форк репозитория, для продвижения своего проекта, мы не скупые и выполняем это, но опять же это делать не обязательно. Можете использовать мой форк для продолжения.
Заходим на GitHub, сылка на репозиторий
Установка.
Команды вводим последовательно.
mkdir .sui git clone https://github.com/MystenLabs/sui.git cd sui git remote add upstream https://github.com/MystenLabs/sui git fetch upstream git checkout -B devnet --track upstream/devnet cp crates/sui-config/data/fullnode-template.yaml fullnode.yaml curl -fLJO https://github.com/MystenLabs/sui-genesis/raw/main/devnet/genesis.blob cargo build --release -p sui-node
Компиляция занимает в среднем 15-25 минут. Ждем окончания
После завершения сборки, нужно сделать конфигурацию.
Конфигурация ноды.
cd mv sui/fullnode.yaml .sui mv sui/genesis.blob .sui nano .sui/fullnode.yaml
Открываем файл и редактируем строчку genesis-file-location: "genesis.blob" на genesis-file-location: "/root/.sui/genesis.blob"
Для выхода нажимаем "CTRL+X", сохраняем "Y"
cp sui/target/release/sui-node /usr/bin
tee /etc/systemd/system/suid.service > /dev/null <<EOF [Unit]Description=sui After=network-online.target [Service]User=root ExecStart=/usr/bin/sui-node --config-path /root/.sui/fullnode.yaml Restart=alwaysRestartSec=3Limit NOFILE=10000 [Install] WantedBy=multi-user.target EOF
Запуск.
sed -i.bak "s/127.0.0.1/0.0.0.0/" /root/.sui/fullnode.yaml
systemctl daemon-reload systemctl enable suid systemctl start suid
journalctl -u suid -f
Если у вас так, то вы всё установили правильно.
Для проверки ноды в сети, используем этот сервис
Обновление ноды.
Команды вводим последовательно.
systemctl stop suid rm -rf /suidbrm -rf /root/sui/suidb/ rm -rf /root/.sui/genesis.blob wget -O /root/.sui/genesis.blob https://github.com/MystenLabs/sui-genesis/raw/main/devnet/genesis.blob cd sui git fetch upstream git stash git checkout -B devnet --track upstream/devnet cargo build --release -p sui-node cp target/release/sui-node /usr/bin сd systemctl restart suid journalctl -u suid -f
Заключение
На данный момент доступен только DevNet, то есть поддержка ранних разработчиков, после правильно установки, заходим в дискорд проекта, в ветку #node-ip-application и подтверждаем IP адрес.
Подтверждать IP нужно в следующей форме:
http://x.x.x.x:9000/
, где за место "X" ставить ваш IP адрес.