💾Node Installation

Story Testnet guide

  • Minimum hardware requirements:

Node TypeCPURAMStorage

Testnet

4

8GB

200GB

1) Auto_install script

wget -O storyt https://raw.githubusercontent.com/111STAVR111/props/main/Story/storyt && chmod +x storyt && ./storyt

2) Manual installation

Preparing the server

sudo apt update && sudo apt upgrade -y
sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu gcc git jq chrony liblz4-tool -y

GO 1.21.6

ver="1.21.6"
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" >> $HOME/.bash_profile
source $HOME/.bash_profile
go version

Build 29.08.24

cd $HOME && mkdir -p go/bin/
wget https://story-geth-binaries.s3.us-west-1.amazonaws.com/geth-public/geth-linux-amd64-0.9.2-ea9f0d2.tar.gz
wget https://story-geth-binaries.s3.us-west-1.amazonaws.com/story-public/story-linux-amd64-0.9.11-2a25df1.tar.gz
tar -xvf geth-linux-amd64-0.9.2-ea9f0d2.tar.gz
tar -xvf story-linux-amd64-0.9.11-2a25df1.tar.gz
mv ~/geth-linux-amd64-0.9.2-ea9f0d2/geth ~/go/bin/
mv ~/story-linux-amd64-0.9.11-2a25df1/story ~/go/bin/
mkdir -p ~/.story/story
mkdir -p ~/.story/geth

story version

  • Version: v0.9.11-stable

  • Git commit: 2a25df1

Initiation

story init --network iliad --moniker "STAVR_guide"

sha256sum $HOME/.story/story/config/genesis.json

  • 18ab598bbaefaa5af5e998abe14e8660ff6fa3c63a9453f5f40f472b213ed091

Download addrbook

wget -O $HOME/.story/story/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Story/addrbook.json"

Create a service file

sudo tee /etc/systemd/system/story-geth.service > /dev/null <<EOF
[Unit]
Description=Story Geth Client
After=network.target

[Service]
User=$USER
ExecStart=$HOME/go/bin/geth --iliad --syncmode full --http --http.api eth,net,web3,engine --http.vhosts '*' --http.addr 127.0.0.1 --http.port 8545 --ws --ws.api eth,web3,net,txpool --ws.addr 127.0.0.1 --ws.port 8546
Restart=on-failure
RestartSec=3
LimitNOFILE=4096

[Install]
WantedBy=multi-user.target
EOF

sudo tee /etc/systemd/system/story.service > /dev/null <<EOF
[Unit]
Description=Story Consensus Client
After=network.target

[Service]
User=$USER
WorkingDirectory=$HOME/.story/story
ExecStart=$HOME/go/bin/story run
Restart=on-failure
RestartSec=3
LimitNOFILE=4096

[Install]
WantedBy=multi-user.target
EOF

StateSync Story Testnet

SOON

SnapShot Testnet updated every 12 hours

cd $HOME
snap install lz4
sudo systemctl stop story
cp $HOME/.story/story/data/priv_validator_state.json $HOME/.story/story/priv_validator_state.json.backup
rm -rf $HOME/.story/story/data
curl -o - -L https://story.snapshot.stavr.tech/story-snap.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.story/story/ --strip-components 3
mv $HOME/.story/story/priv_validator_state.json.backup $HOME/.story/story/data/priv_validator_state.json
wget -O $HOME/.story/story/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Story/addrbook.json"
sudo systemctl restart story && sudo journalctl -fu story -o cat

Start

sudo systemctl daemon-reload
sudo systemctl enable story-geth
sudo systemctl enable story
sudo systemctl restart story-geth && sudo journalctl -fu story-geth -o cat
sudo systemctl restart story && sudo journalctl -fu story -o cat

Wallet

story validator export --export-evm-key

Create validator

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

Check the node status:

curl localhost:26657/status | jq

Check the sync status:

curl -s http://localhost:26657/status | jq .result.sync_info

Monitoring

You can set up your node status alarm here - Monitoring

Security

You can create secure management of your wallet and your node by following this links.

TMKMS Wallet Security

Delete node

sudo systemctl stop story-geth
sudo systemctl disable story-geth
sudo systemctl stop story
sudo systemctl disable story
rm /etc/systemd/system/story-geth.service
rm /etc/systemd/system/story.service
sudo systemctl daemon-reload
cd $HOME
rm -rf .story
rm -rf $(which story)
rm -rf $(which geth)

Last updated