内容目录
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"