This comprehensive guide walks you through setting up a Binance Smart Chain (BSC) Mainnet RPC node for development or infrastructure purposes. Unlike mining nodes, this configuration focuses on providing reliable RPC endpoints without staking.
🛠 Hardware Requirements
1. Server Specifications
- Storage: Minimum 3TB NVMe SSD (recommended 4TB). Avoid cloud storage due to poor I/O performance.
Type: Dedicated bare-metal servers or local SSD-equipped hosts for optimal performance.
⚠️ BSC nodes demand exceptionally high hardware resources—dedicate a high-end server exclusively for this purpose.
2. Network Bandwidth
- Minimum: 100Mbps (unmetered).
- Recommended: 1Gbps international bandwidth for faster synchronization.
3. Operating System
- CentOS 7/8 or Ubuntu (examples use CentOS).
📥 Environment Setup
4. System Preparation
yum update -y
yum install screen iftop iotop -y
4.1. Install Golang
Quick install:
yum install golang -y
Manual compilation (optional):
cd /root/ wget https://storage.googleapis.com/golang/go1.4-bootstrap-20170531.tar.gz tar zxvf go1.4-bootstrap-20170531.tar.gz cd /root/go/src/ ./all.bash
🖥 Node Installation
5. Create a Persistent Session
screen -S bsc
Key Notes:
- Detach with
Ctrl+A+D
(never useexit
). - Reattach later with
screen -r bsc
.
6. Install BSC Client
mkdir -p /data/bsc/data
cd /root
wget -O binance-chain-v1.1.4.tar.gz https://github.com/binance-chain/bsc/archive/refs/tags/v1.1.4.tar.gz
tar -xvf binance-chain-v1.1.4.tar.gz
rm -fr binance-chain-v1.1.4.tar.gz
cd /root/bsc-1.1.4
make all
Verify installation:
/root/bsc-1.1.4/build/bin/geth version
⚙ Configuration
7. Deploy Configuration Files
- Download
config.toml
andgenesis.json
from BSC Mainnet Config. - Place files in
/data/bsc/
.
8. Configure Firewall
firewall-cmd --permanent --zone=public --add-port=30311/tcp
firewall-cmd --permanent --zone=public --add-port=8575/tcp
firewall-cmd --permanent --zone=public --add-port=8576/tcp
firewall-cmd --reload
Temporarily disable firewalls if unsure.
🚀 Synchronization
9.1. Download Snapshot Data
cd /data/bsc/data
wget -O geth.tar.gz 'https://s3.ap-northeast-1.amazonaws.com/dex-bin.bnbstatic.com/geth-20211031.tar.gz?AWSAccessKeyId=AKIAYINE6SBQPUZDDRRO&Signature=ESK5xmr5f1AIK4Mr6our%2FALXzQk%3D&Expires=1638310885'
tar zxvf geth.tar.gz
Note: Adjust directory structure to ensure chaindata
and keystore
reside directly under /data/bsc/data/
.
9.2. Initialize and Start Node
/root/bsc-1.1.4/build/bin/geth --datadir /data/bsc/data --config /data/bsc/config.toml --syncmode "fast" --cache=10240 init /data/bsc/genesis.json
ulimit -n 65535
/root/bsc-1.1.4/build/bin/geth --datadir /data/bsc/data --config /data/bsc/config.toml --syncmode "fast" --cache=8192 --rpc.allow-unprotected-txs --txlookuplimit 0 --allow-insecure-unlock
Detach with Ctrl+A+D
.
✅ Verification
10. Test RPC Endpoints
# Check sync status
curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}' http://127.0.0.1:8575
# Get latest block
curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' http://127.0.0.1:8575
🛑 Maintenance
11. Stop the Node
screen -r bsc
# Press Ctrl+C to gracefully shutdown.
📚 Resources
- RPC Documentation: Ethereum JSON-RPC API
- BSC GitHub: binance-chain/bsc
- Explorer: BscScan
- Official Docs: Full Node Setup
⚠ Critical Notes
- Disk I/O: Benchmark speeds >1000MB/s (NVMe recommended).
- Sync Time: ~3 days with 1Gbps bandwidth and high-performance NVMe.
- Storage: Allocate 4TB to accommodate ~1.9TB block data.
- Post-Sync: Nodes auto-switch to full mode—no re-syncing needed.
- Avoid Cloud Disks: AWS/AliCloud SSDs often underperform.
👉 Optimize your node performance with these pro tips
FAQ
Q: Why does my node keep getting killed?
A: Likely due to hitting the max open files limit. Increase it via ulimit -n 65535
.
Q: Can I use a 2TB disk?
A: No—block data alone requires ~1.9TB, leaving no room for growth.
Q: How to check sync progress?
A: Use eth_syncing
RPC call. Returns false
when synced.
👉 Explore advanced BSC node configurations
For blockchain developers seeking reliable infrastructure, BSC nodes offer unparalleled throughput. 🚀