Ubuntu
22.04
CPU:
RAM:
8 cores
32GB
Storage:
500GB
Start a codespace from a template and get to developing with the power of a virtual machine in the cloud.
Official Documentation
Ubuntu
22.04
CPU:
RAM:
8 cores
32GB
Storage:
500GB
Version
v0.8.9+commit.e5eed63a
Binary:
v1.3.0Peers:
10
Node name
Port
### Install dependenciessudo apt update && sudo apt upgrade -ysudo apt install git gcc make jq curl lz4### Install gocd $HOMEVER=1.22.11wget -qO go.tar.gz "https://golang.org/dl/go$VER.linux-amd64.tar.gz"sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go.tar.gzrm go.tar.gzecho "export PATH=$PATH:/usr/local/go/bin:~/go/bin" >> ~/.bashrcsource ~/.bashrcmkdir -p ~/go/bin### Download binary and build storycd $HOMErm -rf story-aeneidgit clone https://github.com/piplabs/story story-aeneidcd story-aeneidAPP_VERSION=v1.3.0git checkout tags/$APP_VERSION -b $APP_VERSIONgo build -o story ./clientmv $HOME/story-aeneid/story $HOME/go/bin/.### Download binary and build gethcd $HOMErm -rf gethgit clone https://github.com/piplabs/story-geth gethcd gethAPP_VERSION=v1.1.1git checkout tags/$APP_VERSION -b $APP_VERSIONgo build -v ./cmd/gethmv ./geth $HOME/go/bin/geth### Config and init appstory init --network aeneidwget -O $HOME/.story/story/config/genesis.json https://st-snap-1.stakeme.pro/story/pruned/genesis.jsonwget -O $HOME/.story/story/config/addrbook.json https://st-snap-1.stakeme.pro/story/pruned/addrbook.json### Set seeds and peersSEED=01dc0c4abb8c033e848dbdc58aef875978aee35b@story-aeneid-seed.stakeme.pro:33656PEERS=[email protected]:11756,[email protected]:14656,[email protected]:62656,[email protected]:2656,[email protected]:37656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:62656,[email protected]:26656sed -i -e "/^\[p2p\]/,/^\[/{s/^[[:space:]]*seeds *=.*/seeds = \"$SEEDS\"/}" -e "/^\[p2p\]/,/^\[/{s/^[[:space:]]*persistent_peers *=.*/persistent_peers = \"$PEERS\"/}" $HOME/.story/story/config/config.toml### Set custom ports in story.toml and config.tomlsed -i.bak -e "s%:1317%:317%g;s%:8080%:080%g;s%:9090%:090%g;s%:9091%:091%g;s%:8551%:551%g;s%:8545%:545%g;s%:8546%:546%g;s%:6065%:065%g" $HOME/.story/story/config/story.tomlsed -i.bak -e "s%:26658%:658%g;s%:26657%:657%g;s%:6060%:060%g;s%:26656%:656%g;s%:26660%:660%g" $HOME/.story/story/config/config.toml### Disable indexing if neededsed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.story/story/config/config.toml### Create service file storysudo tee /etc/systemd/system/story.service > /dev/null <<EOF[Unit]Description=Story daemonAfter=network-online.target[Service]User=$USERWorkingDirectory=$HOME/.story/storyExecStart=$(which story) runRestart=on-failureRestartSec=5LimitNOFILE=65535[Install]WantedBy=multi-user.targetEOF### Create service file gethsudo tee /etc/systemd/system/story-geth.service > /dev/null <<EOF[Unit]Description=Story Geth daemonAfter=network-online.target[Service]User=$USERExecStart=$HOME/go/bin/geth --aeneid --syncmode full --http --http.api eth,net,web3,engine --http.vhosts '*' --http.addr 0.0.0.0 --http.port 545 --authrpc.port 551 --ws --ws.api eth,web3,net,txpool --ws.addr 0.0.0.0 --ws.port 546Restart=on-failureRestartSec=3LimitNOFILE=65535[Install]WantedBy=multi-user.targetEOF### Reset and state syncstory tendermint unsafe-reset-all --home $HOME/.storySTATYSYNC_RPC=https://story-aeneid-rpc.stakeme.pro:443LATEST_HEIGHT=$(curl -s $STATYSYNC_RPC/block | jq -r .result.block.header.height);BLOCK_HEIGHT=$((LATEST_HEIGHT - 1000));TRUST_HASH=$(curl -s "$STATYSYNC_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash)sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ;s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$STATYSYNC_RPC,$STATYSYNC_RPC\"| ;s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ;s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"| ;s|^(seeds[[:space:]]+=[[:space:]]+).*$|\1\"\"|" $HOME/.story/story/config/config.toml### Enable and start servicesudo systemctl daemon-reloadsudo systemctl enable story.service story-geth.servicesudo systemctl restart story-geth.service story.service && sudo journalctl -u story -f -o cat