Explorer: testnet.ping.pub/symphony
Requirement | Minimum | Recommended |
---|---|---|
OS | Ubuntu 20.04+ | Ubuntu 22.04+ |
CPU | 6 Cores | 8+ Cores |
RAM | 8GB | 16GB+ |
Storage | 500GB SSD/NVMe | 1TB SSD/NVMe |
Network | 10 Mbit/s | 100 Mbit/s+ |
These instructions explain how to set up a Symphony node on an Ubuntu server.
sudo apt update
sudo apt-get install git curl build-essential make jq gcc snapd chrony lz4 tmux unzip bc -y
rm -rf $HOME/go
sudo rm -rf /usr/local/go
cd $HOME
curl https://dl.google.com/go/go1.22.5.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf -
cat <<'EOF' >>$HOME/.profile
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
EOF
source $HOME/.profile
go version
cd $HOME
rm -rf symphony
git clone https://github.com/Orchestra-Labs/symphony.git
cd symphony
git checkout v0.4.1
make install
symphonyd version
Replace NodeName
with your own moniker.
symphonyd init NodeName --chain-id=symphony-testnet-4
wget -O $HOME/.symphonyd/config/genesis.json https://raw.githubusercontent.com/Orchestra-Labs/symphony/refs/heads/main/networks/symphony-testnet-4/genesis.json
wget -O $HOME/.symphonyd/config/addrbook.json https://raw.githubusercontent.com/vinjan23/Testnet.Guide/refs/heads/main/Symphony/addrbook.json
sudo tee /etc/systemd/system/symphonyd.service > /dev/null <<EOF
[Unit]
Description=symphonyd Daemon
After=network-online.target
[Service]
User=$USER
ExecStart=$(which symphonyd) start
Restart=always
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable symphonyd
sudo systemctl stop symphonyd
cp $HOME/.symphonyd/data/priv_validator_state.json $HOME/.symphonyd/priv_validator_state.json.backup
rm -rf $HOME/.symphonyd/data
curl -L https://snap-t.vinjan.xyz./symphony/latest.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.symphonyd
mv $HOME/.symphonyd/priv_validator_state.json.backup $HOME/.symphonyd/data/priv_validator_state.json
sudo systemctl restart symphonyd
sudo journalctl -u symphonyd -f -o cat
symphonyd keys add wallet
symphonyd keys add wallet --recover
sudo systemctl restart symphonyd
sudo journalctl -u symphonyd -f -o cat
symphonyd status 2>&1 | jq
symphonyd tx staking create-validator \
--amount=1000000note \
--moniker="$Your_Validator_Name" \
--identity="" \
--details="" \
--website="" \
--from $WALLET \
--commission-rate 0.05 \
--commission-max-rate 0.2 \
--commission-max-change-rate 0.05 \
--min-self-delegation 1 \
--pubkey $(symphonyd tendermint show-validator) \
--chain-id symphony-testnet-4 \
--fees=800note \
-y
This installation is exclusive to those who installed it from me. Those who install it elsewhere may encounter errors.
sudo apt -q update
sudo apt -qy install curl git jq lz4 build-essential
sudo apt -qy upgrade
sudo apt-get update && apt-get install -y libssl-dev
sudo apt update
sudo apt install python3.10
sudo apt install python3.10-venv
cd $HOME
rm -rf symphony
git clone https://github.com/Orchestra-Labs/symphony
cd symphony
git checkout v0.4.1
make build
cd $HOME
git clone https://github.com/cmancrypto/symphony-oracle-voter.git
cd symphony-oracle-voter
git checkout v0.0.5
If you are going to use your own RPC/API, edit /root/.symphonyd/config/config.toml
:
indexer = "kv"
Choose one of the following options:
cat <<EOF > .env
VALIDATOR_ADDRESS= symphonyvaloperxxx
VALIDATOR_ACC_ADDRESS= symphonyxxx
KEY_PASSWORD= walletpassword;
KEY_BACKEND = os
SYMPHONY_LCD= https://api-symphonyd.vinjan.xyz # or http://localhost:35317 (default port 1317)
TENDERMINT_RPC= https://rpc-symphonyd.vinjan.xyz # or http://localhost:35657 (default port 26657)
EOF
cat <<EOF > .env
VALIDATOR_ADDRESS= symphonyvaloperxxx
VALIDATOR_ACC_ADDRESS= symphonyxxx
KEY_BACKEND = test
SYMPHONY_LCD= https://api-symphonyd.vinjan.xyz # or http://localhost:35317 (default port 1317)
TENDERMINT_RPC= https://rpc-symphonyd.vinjan.xyz # or http://localhost:35657 (default port 26657)
EOF
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
deactivate
sudo tee /etc/systemd/system/oracle.service > /dev/null << EOF
[Unit]
Description=Symphony Oracle
After=network.target
[Service]
# Environment variables
Environment="SYMPHONYD_PATH=/root/symphony/build/symphonyd"
Environment="PYTHON_ENV=production"
Environment="LOG_LEVEL=INFO"
Environment="DEBUG=false"
# Service configuration
Type=simple
User=root
WorkingDirectory=/root/symphony-oracle-voter/
ExecStart=/root/symphony-oracle-voter/venv/bin/python3 -u /root/symphony-oracle-voter/main.py
Restart=always
RestartSec=3
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable oracle.service
sudo systemctl start oracle.service
sudo journalctl -u oracle -f -o cat
Website: Orchestra Labs
Twitter: @orchestra_labs
Documentation: Orchestra Labs Documentation
Questboard: Symphony Blockchain Questboard
Linktree: Orchestra Labs Linktree