Story Protocol

System Requirements

Component

Requirement

Operating System

Ubuntu 22.04

CPU

4 cores

RAM

8 GB

Storage

200 GB SSD

Go Version

1.21.6 or higher

Step-by-Step Guide

1. Server Preparation

  • Rent a Server: Choose a reliable hosting provider, such as PQ.Hosting, Digital Ocean, or Hetzner.

2. Install Necessary Packages

sudo apt update && sudo apt upgrade -y
sudo apt install curl git make jq build-essential gcc unzip wget lz4 aria2 -y

3. Download and Install Story-Geth

wget -q --show-progress 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 mv story-linux-amd64-0.9.11-2a25df1/story /usr/local/bin/

4. Initialize the Node

story init --network iliad --moniker <YOUR_NODE_NAME>

5. Create Service Files

  • For Story-Geth:

    sudo tee /etc/systemd/system/story-geth.service > /dev/null <<EOF
    [Unit]
    Description=Story Geth Client
    After=network.target
    
    [Service]
    User=root
    ExecStart=/usr/local/bin/story-geth --iliad --syncmode full
    Restart=on-failure
    RestartSec=3
    LimitNOFILE=4096
    
    [Install]
    WantedBy=multi-user.target
    EOF
  • For Story Client:

    sudo tee /etc/systemd/system/story.service > /dev/null <<EOF
    [Unit]
    Description=Story Client
    After=network.target
    
    [Service]
    ExecStart=/usr/local/bin/story run
    WorkingDirectory=/root/.story/story
    Restart=always
    User=root
    
    [Install]
    WantedBy=multi-user.target
    EOF

6. Start the Services

sudo systemctl daemon-reload
sudo systemctl start story-geth
sudo systemctl enable story-geth
sudo systemctl start story
sudo systemctl enable story

7. Check Node Status

curl localhost:26657/status | jq

8. Create a Validator

Export your validator data and create your validator using the following commands:

story validator export --export-evm-key --evm-key-path ~/.story/story/.env

# Replace <YOUR_PRIVATE_KEY> with your actual private key.
story validator create --stake 1000000000000000000 --private-key <YOUR_PRIVATE_KEY>

Last updated