sudo apt update
sudo apt install curl iptables build-essential git wget jq make gcc nano tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev -y
cd $HOME
ver="1.22.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
echo "export MONIKER="validator"" >> $HOME/.bash_profile
echo "export PORT_STORY="26"" >> $HOME/.bash_profile
source $HOME/.bash_profile
mkdir -p "$HOME/.story/story"
mkdir -p "$HOME/.story/geth"
cd $HOME
wget -O story-geth https://github.com/piplabs/story-geth/releases/download/v1.0.1/geth-linux-amd64
chmod +x $HOME/story-geth
mv $HOME/story-geth $HOME/go/bin/
story-geth version
cd $HOME
rm -rf story
git clone https://github.com/piplabs/story.git
cd story
git checkout v1.1.0
go build -o story ./client
mv $HOME/story/story $HOME/go/bin/
story version
story init --network story --moniker "validator"
wget -O $HOME/.story/story/config/genesis.json https://download.dteam.tech/story/mainnet/genesis
wget -O $HOME/.story/story/config/addrbook.json https://download.dteam.tech/story/mainnet/addrbook
SEEDS="2bbbbf3ef61b0c7686532e0d0de2c8560a76f1f9@seed.story.mainnet.dteam.tech:50656"
PEERS="3d8bcb2154ea070cb5674cf4ee307bb2f325ed76@peer.story.mainnet.dteam.tech:27656"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.story/story/config/config.toml
sed -i.bak -e "s%:26658%:${PORT_STORY}658%g;
s%:26657%:${PORT_STORY}657%g;
s%:6060%:${PORT_STORY}060%g;
s%:26656%:${PORT_STORY}656%g;
s%^external_address = \"\"%external_address = \"$(wget -qO- eth0.me):${PORT_STORY}656\"%;
s%:26660%:${PORT_STORY}660%g" $HOME/.story/story/config/config.toml
INDEXER="null"
sed -i -e "s/^indexer *=.*/indexer = \"$INDEXER\"/" $HOME/.story/story/config/config.toml
sudo tee /etc/systemd/system/story-geth.service > /dev/null <<EOF
[Unit]
Description=story-geth mainnet node
After=network-online.target
[Service]
User=$USER
ExecStart=$(which story-geth) --story --syncmode full
Restart=on-failure
RestartSec=5
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
sudo tee /etc/systemd/system/story.service > /dev/null <<EOF
[Unit]
Description=story mainnet node
After=network-online.target
[Service]
User=$USER
WorkingDirectory=$HOME/.story/story
ExecStart=$(which story) run
Restart=on-failure
RestartSec=5
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
mkdir -p $HOME/.story/geth/story/geth
curl -o - -L https://download.dteam.tech/story/testnet/pruned/latest-geth-snapshot | lz4 -c -d - | tar -x -C $HOME/.story/geth/story/geth
curl -o - -L https://download.dteam.tech/story/testnet/pruned/latest-snapshot | lz4 -c -d - | tar -x -C $HOME/.story/story
sudo systemctl daemon-reload
sudo systemctl enable story-geth
sudo systemctl restart story-geth
sudo journalctl -u story-geth -f -o cat
sudo systemctl daemon-reload
sudo systemctl enable story
sudo systemctl restart story
sudo journalctl -u story -f -o cat