Все действия должны выполняться под именем пользователя root.Обновление пакетов и системы: sudo apt update && sudo apt upgrade -y
- Установите необходимые пакеты: sudo apt install wget jq git libclang-dev cmake -y
- Установите Rust: . <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/installers/rust.sh)
- Создайте папку node: mkdir -p $HOME/.sui
- Клонируйте ваш репозиторий с помощью узла (в ссылке нужно указать ваше имя пользователя github): git clone https://github.com/YOUR_USERNAME/sui
- Перейдите в папку проекта: cd sui
- Создайте ветку с оригинальным репозиторием: git remote add upstream https://github.com/MystenLabs/sui
- Поднимите текущую версию: git fetch upstream
- Переключитесь на версию devnet: git checkout --track upstream/devnet
- Соберите бинарные файлы (скорость зависит от ядер процессора, может занять 20-30 минут): cargo build --release
- Переместите двоичные файлы в папку binaries: mv $HOME/sui/target/release/{sui,sui-node,sui-faucet} /usr/bin/
- Вернитесь в домашний каталог cd
- Скачайте файл Genesis: 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
Далее открыть с помощью портов:
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/ports_opening.sh) \
9000 9184
И создайте служебный файл:
printf "[Unit]
Описание=Узел
После=network-online.target
[Сервис]
Пользователь=$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
Создайте псевдоним для просмотра журнала узла (последние 100 событий)
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n sui_log -v "sudo journalctl -fn 100 -u suid" -a
Проверьте, выводит ли команда транзакции
wget -qO- -t 1 -T 5 --header 'Content-Type: application/json' --post-data '{ "jsonrpc": "2.0", "id":1, "method": "sui_getRecentTransactions", "params":[5] }' "http://127.0.0.1:9000/" | jq
Кроме того, вы можете найти себя в чекере, введя IP сервера.