Story Protocol - це інноваційна платформа для створення та управління інтелектуальною власністю на блокчейні. У проєкт інвестували такі великі фонди, як a16z, Polychain Capital і Samsung Next, зібравши понад $134 млн. Зараз у вас є можливість стати валідатором у новій тестовій мережі Story.
Процесор: 4 ядра
Оперативна пам'ять: 8 ГБ
Сховище: 200 ГБ
Орендуємо сервер у перевіреного хостинг-провайдера (звісно ж у THE.Hosting, а за промокодом TAXI активуйте знижку 15% на перше замовлення)
Підключаємося до сервера через 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:
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:
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. Ви можете стежити за її роботою і створювати валідаторів для участі в тестовій мережі.