The Binance Smart Chain (BSC) is a blockchain designed to be both complementary and an alternative to the Ethereum blockchain. To achieve its goal, BSC has implemented several design changes from the Ethereum blockchain. One of the ways it did this is that it launched as a hybrid Proof of Stake network (PoS). To secure this network, Binance Smart Chain nodes were implemented. Here is a simple guide on how to run a Binance Smart Chain node.
Requirements
To run a Binance smart Chain node, you will need:
- A virtual private server running Linux or Mac OS
- A two-terabyte SSD
- 8 cores of CPU and 64GB of RAM
- An internet connection with upload/download speeds of 5MB/s or higher
What Do Nodes Do on Binance Smart Chain?
Binance smart chain nodes are used to secure the network. There are two types of nodes, which are the Witness Nodes and Validator Nodes.
Witness Nodes observe and do not actively participate in the consensus process. Their role is to duplicate data and work as extra messengers in the network to report on the current chain state.
The Validator nodes do everything that witness nodes do but also validator transactions. Additionally, they work to create new blocks. Validator nodes can be compared to miners on the Bitcoin network. Here are the steps of how to operate a full node.
- First, you will download the pre-built binaries from the BSC Github page:
- Download the config files, which are genesis.json and config.toml using this command:
wget $(curl -s https://api.github.com/repos/bnb-chain/bsc/releases/latest |grep browser_ |grep mainnet |cut -d\” -f4)
unzip mainnet.zip
- Download the latest snapshot from the BSC Github page, and follow the guide on structuring the files
- Now start a full node using the below command:
geth –config ./config.toml –datadir ./node –diffsync –cache 8000 –rpc.allow-unprotected-txs –txlookuplimit 0
Node Maintenance
Peer Discovery
In the future, the bootstrap nodes will be enhanced. For now, a discovery http services will offer some stable public P2P peers for syncing. Those running a full node can visit the Binance API site to get the dynamic peer info. This peer info can be appended to the SaticNodes in the config.toml to improve the networking of full nodes. To avoid a crowded network, the discovery service changes the peer information regularly. Try to fetch a new one if connected peers of full nodes are too few.
Binary
All clients should be updated to the latest version, which is usually more stable and offers better performance.
Storage
Tests have shown that the performance of a full node goes down when storage exceeds 1.5TB. As such, a full node should be kept light by pruning storage. To prune storage, do the following:
- Stop the node.
- Run nohup geth snapshot prune-state –datadir {the data dir of your bsc node} &. This process will take up to 5 hours to complete. .
- Start the node when done.
Maintainers need to have a few backup nodes at all times. Hardware is also crucial. It is important to ensure you have an SSD of at least 2TB of free space, with 250MB/s throughput, gp3, 8k IOPS, and read latency of less than 1ms.
Diff Sync
The diffsync protocol was rolled out as a stable feature. It improves the syncing speed by up to 70% according to tests. All full nodes should enable it by adding –diffsync in the starting command.
Light Storage
When a node crashes on is forced-killed, it will sync from a block of a few minutes ago or a few hours ago. This is because the state in memory is not persisted into the database in real-time, and the node needs to replay blocks from the last checkpoint when it starts. Replaying time depends on the configuration of the TrieTimeout in the config.toml. It is best to raise it if you can tolerate long replaying time, to ensure light storage.
It is Quite a Complex Process
Running a full node is clearly a complex process. Not only do you need to purchase complex, expensive hardware, but you also need to ensure it is running flawlessly. In case of downtime, there is a chance you could be penalized. On top of that, you will need to secure the node from malicious actors.
In general, you will need to have some background in coding to get things right; a technical process could take you weeks to master. Even then, you will need to have enough knowledge of how to code, to keep up with developments in the Binance smart Chain developer community. If you only have basic computer usage skills, this could be an uphill task. You will have to learn a completely new language within a few weeks for something that you can then only work on part-time. The reason for this is that it would take a huge investment for one to live off running a full node exclusively.
A more sensible option would be to use a node-hosting provider. Today, numerous node-hosting services in the world host Binance smart chain nodes. These services deal with all the complexities of operating a node, allowing you to enjoy the benefits of hosting a BSC node without having to learn a new technical language.
On top of that, they handle the security of hosting a node, which eliminates the risks that might come with hosting your own node. Another major benefit of a node hosting service is its focus on uptime. They have implemented systems that eliminate downtime that might come with attempting to host a node at home. For instance, even with the most reliable utilities, the power is cut several times a year for maintenance. That could lead to one being considered an unreliable node and suffering huge financial penalties.
One of the best node-hosting providers out there for hosting a Binance Smart Chain node is CryptoNodes.io. The provider, who is based in Germany, offers node-hosting services for the Binance Smart chain, and various other EVM blockchains such as Tron, and Ethereum. Its solutions are offered as dedicated nodes, which means only the user has access to their node. Additionally, the node and all server-side software are updated automatically by CryptoNodes.io, which means you do not have to worry about running the latest and most efficient node software. Those running nodes can also expect reliable full-time support for any queries that they might have.
None of the information on this website is investment or financial advice and does not necessarily reflect the views of CryptoMode or the author. CryptoMode is not responsible for any financial losses sustained by acting on information provided on this website by its authors or clients. Always conduct your research before making financial commitments, especially with third-party reviews, presales, and other opportunities.