Skip to content
Validators
/
Support external chains
/
Binance

You need server with following requierements

2CPU/8GBRAM/200++GB SSD

1. Upgrade your server

sudo apt update && sudo apt upgrade -y
sudo apt install make clang pkg-config libssl-dev libclang-dev build-essential git curl ntp jq llvm tmux htop screen unzip -y

Install Go

sudo rm `pwd`/go*
sudo wget "https://go.dev/dl/$(curl 'https://go.dev/VERSION?m=text').linux-amd64.tar.gz"
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go*.linux-amd64.tar.gz
cat <<EOF >> ~/.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 ~/.profile
go version
sudo rm `pwd`/go*

2. Install BSC tesnet node

git clone https://github.com/bnb-chain/bsc
cd bsc
make geth

3. Download the config files

You can download the pre-build binaries from release page or follow the instructions bellow

wget https://github.com/bnb-chain/bsc/releases/latest/download/geth_linux

Testnet

wget https://github.com/bnb-chain/bsc/releases/latest/download/testnet.zip
unzip testnet.zip

Mainnet

wget https://github.com/bnb-chain/bsc/releases/latest/download/mainnet.zip
unzip mainnet.zip
mv geth_linux /usr/bin/geth
chmod +x /usr/bin/geth
rm -rf testnet.zip

4. Configure config.toml file

nano config.toml

Inside the config.toml found line HTTPHost = "127.0.0.1" and change IP from 127.0.0.1 on your IP address.

Scroll down and delete following lines:

[Node.LogConfig]
FileRoot = ""
FilePath = "bsc.log"
MaxBytesSize = 10485760
Level = "info"

Save it by command CTRL+X,Y

5. Write state genesis localy

geth --datadir node init genesis.json

6. Configure systemd service file

tee /etc/systemd/system/bscd.service > /dev/null <<EOF
[Unit]
Description=BSC
After=network-online.target
[Service]
User=root
ExecStart=/usr/bin/geth --config root/bsc/config.toml --datadir root/bsc/node --ws --ws.origins '*'
Restart=always
RestartSec=3
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl start bscd

Checkec that node start synching

journalctl -u bscd -f -n 100

7. Synch status

Once your BSC node is fully synced, you can run a cURL request to see the status of your node: Please change YOUR_IP_ADDRESS on your IP.

curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "eth_syncing", "params":[]}' YOUR_IP_ADDRESS:8575

If the node is successfully synced, the output from above will print {"jsonrpc":"2.0","id":1,"result":false}

8. Connect your BSC to Axelar

Axelar Network will be connecting to the EVM compatible Binance, so your rpc_addr should be exposed in this format:

http://IP:PORT

#for Testnet

Example: http://5.168.135.185:8575

#for Mainnet

Example: http://5.168.135.185:8545

9. If a new update is out

If a new update has been released, then you can update with the following commands.

systemctl stop bscd
mkdir temp
cd temp

Check the latest release page.

wget https://github.com/bnb-chain/bsc/releases/latest/download/geth_linux
mv geth_linux /usr/bin/geth
chmod +x /usr/bin/geth
cd ~
systemctl start bscd

Check that your BSC node work correctly

journalctl -u bscd -f -n 100