Установка ноды SUI для тестнета Wave 2
Аренда сервера
Требования очень высокие, если вы не попали в список оплачиваемых валидаторов, то оплачивать каждый месяц сервер с такими характеристиками будет очень затратно, поэтому можно взять послабее. Но, опять же, память съедается очень быстро, поэтому либо придётся докупать дополнительно память, если возьмёте очень мало, либо брать другой сервер.
1) На Digital Ocean можно получить бесплатно 200$ на 60 дней на аренду серверов. Для этого надо зарегистрироваться по ссылке и ввести способ оплаты. Незадолго до окончания бесплатных 60 дней отменяете подписку, и с вас не спишут деньги за продление подписки.
Выбираем слева New Project, вводим имя проекта, описание и в нижней графе выбираем Machine learning / AI / Data processing, нажимаем Create Project:
Ждём, пока всё загрузится, и нажимаем Create -> Droplets:
Далее выбираем город (San Francisco и Amsterdam самые дешевые), листаем до параметров сервера и выбираем тот, который подходит больше всего. Но помните, что память расходуется очень быстро.
2) Можно воспользоваться сервисом Hetzner.
∎ Регистрируемся, если у вас еще нет аккаунта. После этого арендуем либо облачный сервер, либо VDS.
Переходим сюда, нажимаем NEW PROJECT, придумываем имя:
∎ Затем переходим в созданный проект и на открывшейся странице нажимаем ADD SERVER:
∎ Выбираем сервер, нажимаем CREATE & BUY NOW:
∎ После этого вам на почту придет пароль от сервера:
Переходим сюда и выбираем сервер. Но обратите внимание, что там по 2 SSD диска, их придётся объединять.
3) Можно воспользоваться сервисом VDSina. Сайт позволяет расплачиваться русскими картами и криптовалютой, а также есть гибкие настройки характеристик сервера.
Подключение к серверу
∎ Переходим в терминал, пишем команду для входа на сервер, где вставляем IP адрес своего арендованного сервера:
ssh root@IP_АДРЕС_СЕРВЕРА
Are you sure you want to continue connecting (yes/no/[fingerprint])?
При аренде сервера Hetzner попросят ввести пароль, который прислали на почту, два раза. После этого надо будет ввести новый пароль, который вы будете использовать при входе на сервер. Его попросят ввести тоже два раза.
Подготовка сервера
∎ Теперь, когда сервер арендован, надо обновить репозитории и установить необходимые пакеты:
apt-get update \ && apt-get install -y --no-install-recommends \ tzdata \ ca-certificates \ build-essential \ pkg-config \ cmake \ libprotobuf-dev \ protobuf-compiler \ clang \ libclang-dev \ libssl-dev
sudo curl https://sh.rustup.rs -sSf | sh -s -- -y source $HOME/.cargo/env
∎ Проверяем версию (в выводе должно быть 1.67.0):
rustc --version
Установка ноды Sui для тестнета Wave 2
∎ Клонируем репозиторий с GitHub:
cd $HOME git clone https://github.com/MystenLabs/sui.git
∎ В папке sui cоздаём ветку с исходным репозиторием:
cd sui git remote add upstream https://github.com/MystenLabs/sui
git fetch upstream
git checkout -B testnet --track upstream/testnet
mkdir $HOME/.sui
wget https://github.com/MystenLabs/sui-genesis/raw/main/testnet/genesis.blob mv genesis.blob /$HOME/.sui/
∎ Создаём копию файла fullnode.yaml и обновляем путь к базу данных:
cp $HOME/sui/crates/sui-config/data/fullnode-template.yaml $HOME/.sui/fullnode.yaml
sed -i.bak "s|db-path:.*|db-path: \"$HOME\/.sui\/db\"| ; s|genesis-file-location:.*|genesis-file-location: \"$HOME\/.sui\/genesis.blob\"| ; s|127.0.0.1|0.0.0.0|" $HOME/.sui/fullnode.yaml
sudo tee -a $HOME/.sui/fullnode.yaml >/dev/null <<EOF p2p-config: seed-peers: - address: "/dns/seoul-1.sui.nodiums.com/udp/9999" - address: "/dns/seoul-2.sui.nodiums.com/udp/9999" - address: "/dns/singapore-1.sui.nodiums.com/udp/9999" - address: "/dns/singapore-2.sui.nodiums.com/udp/9999" - address: "/dns/singapore-3.sui.nodiums.com/udp/9999" - address: "/dns/singapore-4.sui.nodiums.com/udp/9999" - address: "/dns/toronto-1.sui.nodiums.com/udp/9999" - address: "/dns/mumbai-1.sui.nodiums.com/udp/9999" - address: "/dns/los-angeles-1.sui.nodiums.com/udp/9999" - address: "/dns/dallas-1.sui.nodiums.com/udp/9999" - address: "/ip4/65.109.32.171/udp/8084" - address: "/ip4/65.108.44.149/udp/8084" - address: "/ip4/95.214.54.28/udp/8080" - address: "/ip4/136.243.40.38/udp/8080" - address: "/ip4/84.46.255.11/udp/8084" - address: "/ip4/135.181.6.243/udp/8088" - address: "/ip4/89.163.132.44/udp/8080" - address: "/ip4/95.217.57.232/udp/8080" - address: "/ip4/15.204.163.225/udp/8080" - address: "/ip4/65.108.68.119/udp/8080" - address: "/ip4/155.133.22.151/udp/8080" - address: "/ip4/45.14.194.21/udp/8080" - address: "/ip4/159.69.58.44/udp/8080" - address: "/ip4/139.180.130.95/udp/8084" - address: "/ip4/51.178.73.193/udp/8084" - address: "/ip4/162.19.84.43/udp/8084" - address: "/ip4/146.59.68.207/udp/8080" - address: "/ip4/89.58.5.19/udp/8084" - address: "/ip4/38.242.227.80/udp/8080" - address: "/ip4/144.217.10.44/udp/8080" - address: "/ip4/178.18.250.62/udp/8080" - address: "/ip4/213.239.215.119/udp/8084" - address: "/ip4/65.109.32.171/udp/8084" - address: "/ip4/65.108.44.149/udp/8084" - address: "/ip4/95.214.54.28/udp/8080" - address: "/ip4/136.243.40.38/udp/8080" - address: "/ip4/84.46.255.11/udp/8084" - address: "/ip4/135.181.6.243/udp/8088" EOF
cargo build --release --bin sui-node mv ~/sui/target/release/sui-node /usr/local/bin/
∎ Проверяем версию (в выводе должно быть 0.22.0-xxx):
sui-node -V
echo "[Unit] Description=Sui Node After=network.target [Service] User=$USER Type=simple ExecStart=/usr/local/bin/sui-node --config-path $HOME/.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
sudo systemctl restart systemd-journald
sudo systemctl daemon-reload
sudo systemctl enable suid
sudo systemctl restart suid
journalctl -u suid -f
∎ Далее проверяем синхронизацию ноды на сайте: https://www.scale3labs.com/check/sui
Вставляем IP адрес ноды и в графе Network выбираем сеть Testnet. Ждём, когда нода синхронизируется, статус синхронизации должен стать 100%.
Готово! Нода установлена! Не забывайте вовремя устанавливать обновления, всю актуальную информацию можно найти в Дискорде.
Стань частью команды Cryptonik 👇
📢Телеграм канал https://t.me/cryptonik_space 🎬 Youtube канал https://www.youtube.com/@cryptonik_space 💬 Телеграм чат https://t.me/cryptonik_space_chat