Установка фулл ноды Sui
Команда писала, что для будущих возможных валидаторов, фуллноду ставить обязательно. Если не планируете в валидаторы, то думаю команда оценит ваш вклад на такой ранней стадии.
Официальные технические требования:
Для тех кто вообще не знаком с нодами сделал видеогайд
Установка с нуля
sudo apt update && sudo apt install curl -y
apt-get update \ && DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install -y --no-install-recommends \ tzdata \ git \ ca-certificates \ curl \ build-essential \ libssl-dev \ pkg-config \ libclang-dev \ cmake
Далее устанавливаем Rust и Cargo
curl https://sh.rustup.rs -sSf | sh
Выбираем стандартную установку, пишем 1
Если возникает такая ошибка, то надо установить curl
sudo apt update sudo apt install curl
source ~/.profile
source ~/.cargo/env
Проверяем версию cargo, должна быть 1.61.0 или выше
cargo -V
Теперь форкаем и клонируем репозитарий через свой гитхаб, если его нет, то либо зарегистироваться, либо взять с официального гитхаба, но лучше скопировать свой.
Переходим по ссылке и нажимаем кнопку "Fork"
git clone https://github.com/<Ваш ник гитхаба>/sui.git
cd sui
Настраиваем репозиторий Sui как git remote
git remote add upstream https://github.com/MystenLabs/sui
git fetch upstream
git checkout --track upstream/devnet
Создаем копию шаблона конфигурации полного узла
cp crates/sui-config/data/fullnode-template.yaml fullnode.yaml
Скачаиваем последнюю версию genesis
curl -fLJO https://github.com/MystenLabs/sui-genesis/raw/main/devnet/genesis.blob
Устанавливаем и запускаем ноду, установка занимает длительное время, 40+ минут
cargo run --release --bin sui-node -- --config-path fullnode.yaml
После длительной загрузки должно быть сообщение счастья:
Далее нужно немного изменить настройки открыть порты
nano fullnode.yaml
Это переключение с локального подключение на подключение со всех адресов.
sudo ufw allow 9000
sudo ufw allow 9184
sudo ufw allow 8080
После этого перезагружаем сервер
reboot
Можно просто запустить ноду и все будет работать, однако при закрытии терминала, нода будет прекращать работу, поэтому запустим её через скрин. Он обычно должен быть установлен по умолчанию, если нет, то установить командой apt install screen.
screen -S Sui
Далее запускаем ноду, чтобы запустить ноду надо:
cd sui
cargo run --release --bin sui-node -- --config-path fullnode.yaml
Теперь можно выйти из скрина нажатием ctrl+A+D, если захотите зайти и посмотреть как там нода (она молчаливая, после лога про старт обычно ничего нет) то ввести команду screen -r
или screen -r Sui
Далее идем в дискорд и подтверждаем, что поставили ноду
Можно закинуть последнее сообщение в #dev-general, например
2022-06-18T23:43:18.350633Z INFO sui_node: SuiNode started!
И также в #nodes-operators закинуть вашу ноду в формате:
Если перейти по ссылке, должно быть примерно так:
Однако у меня всего лишь один раз получилось получить ответ от ноды таким образом, для ее работоспособность я смотрю на этом сайте, там вводим свой айпи, должно быть примерно вот так:
Обновление
Вышло обновление 0.5.0 23.06 и если вы до этого ставили ноду по моему гайду, то нужно обновиться. Если поставили с нуля после, то не надо
Заходим в окно скрин, где запускали ноду
screen -r
Удаляем страую базу данных и файл "genesis.blob"
rm -r suidb genesis.blob
Получаем данные из последнего релиза
git fetch upstream
Переустанавливаем нашу ветку девнет
git checkout -B devnet --track upstream/devnet
И скачиваем обновленный генезис
curl -fLJO https://github.com/MystenLabs/sui-genesis/raw/main/devnet/genesis.blob
screen -S 1
И запускаем ноду. Установятся удаленные и новые файлы
cargo run --release --bin sui-node -- --config-path fullnode.yaml
Если выскакивает ошибка 98 типа адресс уже используется, то перезагружаем сервер и выполняем
screen -S 1
cd sui
cargo run --release --bin sui-node -- --config-path fullnode.yaml
После запуска проверяем, как работает нода старыми способами
Если хотите выразить благодарность, буду рад вашим лайкам!
Дискорд проекта
Мой ник в дискорде - AD_3118#6164, по всем вопросам - обращайтесь!