
💠Story Protocol
The World’s ꧁IP꧂ Blockchain
Public Endpoints
Explorer
https://testnet.story.explorers.guru/validator/storyvaloper1hce0zrf60rq7nttz72mxzyt8hk0uzzz37zlpraEVM Address: 0x1B6518B6794eD12CAAa75924164494EB02896DbA
--validator-pubkey: A0vX1mg9wseYtm39MUl1eBOaq/ROfWmIWZItiT11UuOn
Update system
sudo apt update
sudo apt-get install git curl build-essential make jq gcc snapd chrony lz4 tmux unzip bc -y
Install Go
rm -rf $HOME/go
sudo rm -rf /usr/local/go
cd $HOME
curl https://dl.google.com/go/go1.22.1.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf -
cat <<'EOF' >>$HOME/.profile
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
EOF
source $HOME/.profile
go version
Story-Geth binary
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
sudo cp geth-linux-amd64-0.9.2-ea9f0d2/geth $HOME/go/bin/story-geth
source $HOME/.bash_profile
story-geth version
Story binary
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
sudo cp story-linux-amd64-0.9.11-2a25df1/story $HOME/go/bin/story
source $HOME/.bash_profile
story version
Init Iliad node
story init --network <Your_node_name> iliad
story-geth service
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
sudo systemctl daemon-reload
sudo systemctl enable story-geth
Start story-geth & Check logs
sudo systemctl start story-geth
sudo systemctl status story-geth
sudo journalctl -u story-geth -f -o cat
story service
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 enable story
Start story & Check logs
sudo systemctl start story
sudo systemctl status story
sudo journalctl -u story -f -o cat
Check sync
curl localhost:26657/status | jq
Download Genesis & Addrbook
curl -o genesis.json https://raw.githubusercontent.com/Validator247/Story-Protocol/main/genesis.json
curl -o addrbook.json https://raw.githubusercontent.com/Validator247/Story-Protocol/main/addrbook.json
Peer Live
URL="https://story-testnet-rpc.validator247.com/net_info"
# Fetch data
response=$(curl -s $URL)
# Parse JSON and construct PEERS string using jq
PEERS=$(echo $response | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):" + (.node_info.listen_addr | capture("(?<ip>.+):(?<port>[0-9]+)$").port)' | paste -sd "," -)
# Display the PEERS string
echo "PEERS=\"$PEERS\""
# Set peers
sed -i 's|^persistent_peers *=.*|persistent_peers = "'$PEERS'"|' $HOME/.story/story/config/config.toml
Peer Retrieval
curl -s https://story-testnet-rpc.validator247.com/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr | capture("(?<ip>.+):(?<port>[0-9]+)$").port)"'
Validator Operations
Validator Key Export
By default, when you run ./story init
a validator key is created for you. To view your validator key, run the following command:
story validator export
In addition, if you want to export the derived EVM private key of your validator into the default data config directory, please run the following:
story validator export --export-evm-key
Validator Creation
To create a new validator, run the following command:
( your_private_key : /root/.story/story/config/private_key.txt )
story validator create --stake 1000000000000000000 --private-key "your_private_key"
Staking
story validator stake \
--validator-pubkey A0vX1mg9wseYtm39MUl1eBOaq/ROfWmIWZItiT11UuOn \
--stake 2000000000000000000 \
--private-key <your-private_key>
Note: change number 2 in paragraph 2000000000000000000 equal to the number of tokens you have (>=1 minus gas)
Peer:
[email protected]:26656
[email protected]:26656
[email protected]:27656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:46656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
[email protected]:26656
Upgrade
Upgrade v0.10.0 at height: 626575
sudo systemctl stop story story-geth
cd $HOME
rm -rf story
git clone https://github.com/piplabs/story
cd $HOME/story
git checkout v0.10.0
go build -o story ./client
sudo mv $HOME/story/story $(which story)
sudo systemctl restart story && sudo journalctl -u story -f -o cat
Last updated