View Categories

Story Odyssey

3 min read

1. 安装依赖项 #

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

2. 安装 Go (如果已经安装可跳过) #

cd $HOME && \
ver="1.22.0" && \
wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz" && \
sudo rm -rf /usr/local/go && \
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz" && \
rm "go$ver.linux-amd64.tar.gz" && \
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> ~/.bash_profile && \
source ~/.bash_profile && \
go version

3. 下载Story二进制程序 #

3.1 安装 Story-Geth v0.10.1 #

cd $HOME
wget https://github.com/piplabs/story-geth/releases/download/v0.10.1/geth-linux-amd64
[ ! -d "$HOME/go/bin" ] && mkdir -p $HOME/go/bin
if ! grep -q "$HOME/go/bin" $HOME/.bash_profile; then
  echo "export PATH=$PATH:/usr/local/go/bin:~/go/bin" >> ~/.bash_profile
fi
chmod +x geth-linux-amd64
mv $HOME/geth-linux-amd64 $HOME/go/bin/story-geth
source $HOME/.bash_profile
story-geth version

3.2 安装 Story Client v0.13.0 #

cd $HOME
wget https://github.com/piplabs/story/releases/download/v0.13.0/story-linux-amd64
[ ! -d "$HOME/go/bin" ] && mkdir -p $HOME/go/bin
if ! grep -q "$HOME/go/bin" $HOME/.bash_profile; then
  echo "export PATH=$PATH:/usr/local/go/bin:~/go/bin" >> ~/.bash_profile
fi
chmod +x story-linux-amd64
mv $HOME/story-linux-amd64 $HOME/go/bin/story
source $HOME/.bash_profile
story version

4. 初始化节点 #

story init --network odyssey --moniker "你的节点名称"

5. 创建服务文件 #

配置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 --odyssey --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

6. 加载并启动服务 #

Story-Geth #

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

Story Client #

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

7. 检查日志 #

Story-Geth

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

Story Client

sudo journalctl -u story -f -o cat

8. 查看同步状态 #

curl localhost:26657/status | jq

创建验证者节点 #

方法1:默认会创建新的 #

查看节点密钥的信息:

story validator export

导出 EVM 钱包私钥:

story validator export --export-evm-key

创建/注册验证器:

story validator create --stake 1024000000000000000000 --moniker "your-node-name" --private-key "your_private_key"

方法2: 从Iliad网络恢复旧密钥 #

打开你保存的备份文件 priv_validator_key.json。 替换到新网络:

sudo nano ~/.story/story/config/priv_validator_key.json

删除里面的内容,用旧的 priv_validator_key.json 信息替换,然后按 Ctrl + O 保存,再按 Enter 和 Ctrl X 退出。

用命令检查节点信息恢复是否正确

story validator export

导出 EVM 钱包私钥:

story validator export --export-evm-key

需要押注 1024 IP。 你可以在这里使用水龙头领取:https://faucet.story.foundation

创建注册验证者:

story validator create --stake 1024000000000000000000 --moniker "your-node-name" --private-key "your_private_key"

Powered by BetterDocs