Minimum hardware requirements :
1) Auto_install script
Copy wget -O storyt https://raw.githubusercontent.com/111STAVR111/props/main/Story/storyt && chmod +x storyt && ./storyt
2) Manual installation
Preparing the server
Copy 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
Copy 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
Copy 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
Initiation
Copy story init --network iliad --moniker "STAVR_guide"
sha256sum $HOME/.story/story/config/genesis.json
18ab598bbaefaa5af5e998abe14e8660ff6fa3c63a9453f5f40f472b213ed091
Download addrbook
Copy wget -O $HOME/.story/story/config/addrbook.json "https://raw.githubusercontent.com/111STAVR111/props/main/Story/addrbook.json"
Create a service file
Copy 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
SnapShot Testnet updated every 12 hours
Copy 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
Copy 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
Copy story validator export --export-evm-key
Create validator
Copy story validator create --stake 1000000000000000000 --private - key "your_private_key"
Check the node status:
Copy curl localhost:26657/status | jq
Check the sync status:
Copy 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
Copy 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 )