Способы оплаты Abuse

Story Protocol: Устанавливаем ноду

03.09.2024, 15:51

Story Protocol — это инновационная платформа для создания и управления интеллектуальной собственностью на блокчейне. В проект инвестировали такие крупные фонды, как a16z, Polychain Capital и Samsung Next, собрав более $134 млн. Сейчас у вас есть возможность стать валидатором в новой тестовой сети Story.

Story Protocol

Минимальные требования к серверу

  1. Процессор: 4 ядра

  2. Оперативная память: 8 ГБ

  3. Хранилище: 200 ГБ

Подготовка сервера

  1. Арендуем сервер у проверенного хостинг-провайдера (конечно же у PQ.Hosting, а по промокоду TAXI активируйте скидку 15% на первый заказ)

  2. Подключаемся к серверу через MobaXterm под root-доступом.

Обновляем и устанавливаем необходимые пакеты:

sudo apt update && sudo apt upgrade -y

sudo apt install curl git make jq build-essential gcc unzip wget lz4 aria2 -y

Установка Story-Geth

Скачиваем и устанавливаем Story-Geth:

wget https://story-geth-binaries.s3.us-west-1.amazonaws.com/geth-public/geth-linux-amd64-0.9.2-ea9f0d2.tar.gz
tar -xzvf geth-linux-amd64-0.9.2-ea9f0d2.tar.gz
[ ! -d "$HOME/go/bin" ] && mkdir -p $HOME/go/bin
if ! grep -q "$HOME/go/bin" $HOME/.bash_profile; then
echo 'export PATH=$PATH:$HOME/go/bin' >> $HOME/.bash_profile
fi
sudo cp geth-linux-amd64-0.9.2-ea9f0d2/geth $HOME/go/bin/story-geth
source $HOME/.bash_profile
story-geth version

Установка Story

Скачиваем и устанавливаем Story:

wget https://story-geth-binaries.s3.us-west-1.amazonaws.com/story-public/story-linux-amd64-0.9.11-2a25df1.tar.gz
tar -xzvf story-linux-amd64-0.9.11-2a25df1.tar.gz
[ ! -d "$HOME/go/bin" ] && mkdir -p $HOME/go/bin
if ! grep -q "$HOME/go/bin" $HOME/.bash_profile; then
echo 'export PATH=$PATH:$HOME/go/bin' >> $HOME/.bash_profile
fi
sudo cp story-linux-amd64-0.9.11-2a25df1/story $HOME/go/bin/story
source $HOME/.bash_profile
story version

Инициализируем сеть и задаем моникер:

story init --network iliad --moniker MONIKER

Создание и настройка сервисных файлов

Создаем сервисный файл для Story-Geth:

sudo tee /etc/systemd/system/story-geth.service > /dev/null <<EOF

[Unit]
Description=Story Geth Client
After=network.target
[Service]
User=root
ExecStart=/root/go/bin/story-geth --iliad --syncmode full
Restart=on-failure
RestartSec=3
LimitNOFILE=4096
[Install]
WantedBy=multi-user.target
EOF

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

sudo tee /etc/systemd/system/story.service > /dev/null <<EOF
[Unit]
Description=Story Consensus Client
After=network.target
[Service]
User=root
ExecStart=/root/go/bin/story run
Restart=on-failure
RestartSec=3
LimitNOFILE=4096
[Install]
WantedBy=multi-user.target
EOF

Перезапускаем и запускаем сервисы:

sudo systemctl daemon-reload && \
sudo systemctl start story-geth && \
sudo systemctl enable story-geth && \
sudo systemctl start story && \
sudo systemctl enable story && \
sudo systemctl status story-geth && \
sudo systemctl status story

Проверка состояния ноды

Проверяем статус синхронизации ноды:

curl localhost:26657/status | jq

В первые 5-10 минут статус true и 0 block_height является нормой. После этого блоки начнут расти, и статус сменится на false.

Установка снепшота (опционально)

Останавливаем ноду:
sudo systemctl stop story

sudo systemctl stop story-geth

Скачиваем и устанавливаем снепшот для ускорения синхронизации:

cd $HOME
aria2c -x 16 -s 16 https://vps5.josephtran.xyz/Story/Geth_snapshot.lz4 -o Geth_snapshot.lz4
aria2c -x 16 -s 16 https://vps5.josephtran.xyz/Story/Story_snapshot.lz4 -o Story_snapshot.lz4

Удаляем старые данные и извлекаем новые:

rm -rf ~/.story/story/data
rm -rf ~/.story/geth/iliad/geth/chaindata
sudo mkdir -p /root/.story/story/data
lz4 -d Story_snapshot.lz4 | pv | sudo tar xv -C /root/.story/story/
sudo mkdir -p /root/.story/geth/iliad/geth/chaindata
lz4 -d Geth_snapshot.lz4 | pv | sudo tar xv -C /root/.story/geth/iliad/geth/

Перезапускаем ноду и проверяем статус:

sudo systemctl start story
sudo systemctl start story-geth
curl localhost:26657/status | jq

Создание валидатора

Экспортируем данные валидатора:

story validator export

Получаем приватный ключ:

sudo cat /root/.story/story/config/private_key.txt
story validator export --export-evm-ke

Запрашиваем тестовые токены $IP с крана и создаем валидатора:

story validator create --stake 1000000000000000000 --private-key "your_private_key"

Полезные команды для работы с нодой

Остановка ноды:

sudo systemctl stop story
sudo systemctl stop story-geth

Перезапуск ноды:

sudo systemctl start story
sudo systemctl start story-get

Проверка статуса:

curl localhost:26657/status | jq

Просмотр логов:

sudo journalctl -u story-geth -f -o cat
sudo journalctl -u story -f -o cat

Заключение

Теперь вы успешно установили и настроили ноду Story Protocol. Вы можете следить за ее работой и создавать валидаторов для участия в тестовой сети.