Installation

Install Dependencies

sudo apt update && sudo apt upgrade -y 
sudo apt install -y git gcc make unzip jq

Install GO if needed

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

Sett Vars

change MONIKER="Moniker"" with your own moniker and change SYMPHONY_PORT="12"" to your own port

echo "export WALLET="wallet"" >> $HOME/.bash_profile
echo "export MONIKER="Moniker"" >> $HOME/.bash_profile
echo "export SYMPHONY_CHAIN_ID="symphony-testnet-3"" >> $HOME/.bash_profile
echo "export SYMPHONY_PORT="12"" >> $HOME/.bash_profile
source $HOME/.bash_profile

Install Binary

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

Initialize Node

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

Download Genesis and Addrbook

wget -O $HOME/.symphonyd/config/genesis.json https://raw.githubusercontent.com/Orchestra-Labs/symphony/main/networks/symphony-testnet-2/genesis.json
wget -O $HOME/.symphonyd/config/addrbook.json https://raw.githubusercontent.com/vinjan23/Testnet.Guide/main/Symphony/addrbook.json

Sett Seed and peer

seeds=""
sed -i.bak -e "s/^seeds =.*/seeds = \"$seeds\"/" $HOME/.symphonyd/config/config.toml
peers="[email protected]:29156,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:29156,[email protected]:22656,[email protected]:24856,[email protected]:26656"
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

Configure Prunning

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

Disable Indexer

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

Sett Minimum Gas price

sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0note\"|" $HOME/.symphonyd/config/app.toml

Sett Custom port on Config.toml

sed -i.bak -e "s%:26658%:${SYMPHONY_PORT}658%g;
s%:26657%:${SYMPHONY_PORT}657%g;
s%:6060%:${SYMPHONY_PORT}060%g;
s%:26656%:${SYMPHONY_PORT}656%g;
s%^external_address = \"\"%external_address = \"$(wget -qO- eth0.me):${SYMPHONY_PORT}656\"%;
s%:26660%:${SYMPHONY_PORT}660%g" $HOME/.symphonyd/config/config.toml

Sett Custom Port On App.toml

sed -i.bak -e "s%:1317%:${SYMPHONY_PORT}317%g;
s%:8080%:${SYMPHONY_PORT}080%g;
s%:9090%:${SYMPHONY_PORT}090%g;
s%:9091%:${SYMPHONY_PORT}091%g;
s%:8545%:${SYMPHONY_PORT}545%g;
s%:8546%:${SYMPHONY_PORT}546%g;
s%:6065%:${SYMPHONY_PORT}065%g" $HOME/.symphonyd/config/app.toml

Create Service

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

If you need t

Enable and Start Service

sudo systemctl daemon-reload
sudo systemctl enable symphonyd
sudo systemctl restart symphonyd
sudo journalctl -u symphonyd -f -o cat

Check your Node sync

if the catching_up = false then u can create validator

symphonyd status 2>&1 | jq .SyncInfo

Last updated