Installation Node

  • Network Type: Testnet
  • Chain-id: symphony-testnet-3
  • Current Node version: v0.3.0
  • Hardware requirements

    The following requirements are recommended for running :

    • 6 or more physical CPU cores
    • At least 200GB of SSD disk storage
    • At least 16GB of memory (RAM)
    • At least 100mbps network bandwidth

    Install dependencies Required

    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

    Install go

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

    Install binary

    cd $HOME
    git clone https://github.com/Orchestra-Labs/symphony
    cd symphony
    git checkout v0.3.0
    make install

    Initialize Node

    Please change <MONIKER> To your own Moniker.

    symphonyd init $MONIKER --chain-id symphony-testnet-3
    symphonyd config chain-id symphony-testnet-3
    symphonyd config keyring-backend test

    Download Genesis file and addrbook

    • Genesis
    wget -O $HOME/.symphonyd/config/genesis.json https://raw.githubusercontent.com/Orchestra-Labs/symphony/main/networks/symphony-testnet-3/genesis.json
    • Addrbook

    Configure Seeds and Peers

    seeds="10838131d11f546751178df1e1045597aad6366d@34.41.169.77:26656"
    sed -i.bak -e "s/^seeds =.*/seeds = \"$seeds\"/" $HOME/.symphonyd/config/config.toml
    peers="eea2dc7e9abfd18787d4cc2c728689ad658cd3a2@34.66.161.223:26656,3b8cd0dc5e61e36630a760ec1d3b1e05223624c0@88.99.149.170:21656"
    sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.symphonyd/config/config.toml
    sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0note\"/" $HOME/.symphonyd/config/app.toml

    config pruning

    sed -i \
    -e 's|^pruning *=.*|pruning = "custom"|' \
    -e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
    -e 's|^pruning-keep-every *=.*|pruning-keep-every = ""|' \
    -e 's|^pruning-interval *=.*|pruning-interval = "10"|' \
    $HOME/.symphonyd/config/app.toml

    Indexer Off

    sed -i 's|^indexer *=.*|indexer = "null"|' $HOME/.symphonyd/config/config.toml

    create service file and start node

    Create service file

    sudo tee /etc/systemd/system/symphonyd.service > /dev/null <<EOF
    [Unit]
    Description=symphony
    After=network-online.target
    
    [Service]
    User=$USER
    ExecStart=$(which symphonyd) start
    Restart=always
    RestartSec=3
    LimitNOFILE=65535
    
    [Install]
    WantedBy=multi-user.target
    EOF
    • Enable Service and Start Node
    sudo systemctl daemon-reload
    sudo systemctl enable symphonyd
    sudo systemctl restart symphonyd
    sudo journalctl -u symphonyd -f -o cat
    • Check Sync ( If False than go to create validator )
    • Use Snapshot to faster sync
    symphonyd status 2>&1 | jq .SyncInfo

    Snapshot

    • OR

    Statesync

    Create Validator

    Heads up to the Cheat Sheets to create validator