Installation Dependencies
# Install dependencies for building from source
sudo apt update && sudo apt upgrade -y
sudo apt install curl git wget htop tmux build-essential jq make lz4 gcc unzip -y
sudo apt update
sudo apt install -y curl git jq lz4 build-essential
# Install Go
sudo rm -rf /usr/local/go
curl -L https://go.dev/dl/go1.21.6.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> $HOME/.bash_profile
source .bash_profile
Environment Variable Configuration
Download Binary
cd $HOME
rm -rf symphony
git clone --depth 1 --branch v0.3.1 https://github.com/Orchestra-Labs/symphony
cd symphony
make install
Config And Init
symphonyd init $MONIKER
sed -i -e "s|^node *=.*|node = "tcp://localhost:${SYMPONY}657"|" $HOME/.symphonyd/config/client.toml
Genesis And Addrbook
wget -O $HOME/.symphonyd/config/genesis.json https://snapshot.sipalingtestnet.com/symphony/genesis.json
wget -O $HOME/.symphonyd/config/addrbook.json https://snapshot.sipalingtestnet.com/symphony/addrbook.json
Seeds And Peers
SEEDS="0bec7d2970be72fd1e8352141a46da3a0398c498@2a01:4f9:6b:2099::2:12656"
PEERS="https://rpc.symphony.sipalingtestnet.com/net_info?"
sed -i -e "/^[p2p]/,/^[/{s/^[[:space:]]*seeds *=.*/seeds = "$SEEDS"/}" -e "/^[p2p]/,/^[/{s/^[[:space:]]*persistent_peers *=.*/persistent_peers = "$PEERS"/}" $HOME/.symphonyd/config/config.toml
Costum Port
# set custom ports in app.toml
sed -i.bak -e "s%:1317%:${SYMPONY}317%g;
s%:8080%:${SYMPONY}080%g;
s%:9090%:${SYMPONY}090%g;
s%:9091%:${SYMPONY}091%g;
s%:8545%:${SYMPONY}545%g;
s%:8546%:${SYMPONY}546%g;
s%:6065%:${SYMPONY}065%g" $HOME/.symphonyd/config/app.toml
# set custom ports in config.toml file
sed -i.bak -e "s%:26658%:${SYMPONY}658%g;
s%:26657%:${SYMPONY}657%g;
s%:6060%:${SYMPONY}060%g;
s%:26656%:${SYMPONY}656%g;
s%^external_address = ""%external_address = "$(wget -qO- eth0.me):${SYMPONY}656"%;
s%:26660%:${SYMPONY}660%g" $HOME/.symphonyd/config/config.toml
Pruning And Set Gas
# config pruning
sed -i -e "s/^pruning *=.*/pruning = "custom"/" $HOME/.symphonyd/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = "100"/" $HOME/.symphonyd/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = "50"/" $HOME/.symphonyd/config/app.toml
# set minimum gas price, enable prometheus and disable indexing
sed -i 's|minimum-gas-prices =.*|minimum-gas-prices = "0.0025note"|g' $HOME/.symphonyd/config/app.toml
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.symphonyd/config/config.toml
sed -i -e "s/^indexer *=.*/indexer = "null"/" $HOME/.symphonyd/config/config.toml
Service File
sudo tee /etc/systemd/system/symphonyd.service > /dev/null <<EOF
[Unit]
Description=SYMPONY node
After=network-online.target
[Service]
User=$USER
WorkingDirectory=$HOME/.symphonyd
ExecStart=$(which symphonyd) start --home $HOME/.symphonyd
Restart=on-failure
RestartSec=5
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
Download Snapshot
# reset and download snapshot
symphonyd tendermint unsafe-reset-all --home $HOME/.symphonyd
if curl -s --head curl https://snapshot.sipalingtestnet.com/symphony/symphony.tar.lz4 | head -n 1 | grep "200" > /dev/null; then
curl https://snapshot.sipalingtestnet.com/symphony/symphony.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.symphonyd
else
echo "no snapshot founded"
fi