Binance Smart Chain
Running Full and Archive Node of Binance Smart Chain: Why Might You Need It
9th June 2021
Like in many modern blockchains, the architecture of Binance Smart Chain allows to run a full node, an archive node and a light node. What’s the difference between these nodes - and which one is required for your dApp?
What is Binance Smart Chain?
Binance Smart Chain (BSC) is an EVM-compatible programmatic environment by world-leading cryptocurrencies exchange Binance (BNB). It evolved from Binance Chain, an initial own blockchain of Binance. BSC supports smart contracts while Binance Chain does not.
Binance Smart Chain allows deployment of decentralized applications (dApps) and decentralized financial protocols (DeFis). It is characterized by fast transactions and low fees.
Binance Smart Chain (BSC) is built around Proof-of-Stake Authority (PoSA) consensus. Its transactions are verified by the network of 21 validators.
At printing time, over $50 billion is locked across all protocols on Binance Smart Chain (BSC). That said, Binance Smart Chain (BSC) is the second largest smart contract environment surpassed only by Ethereum (ETH).
What is a blockchain node?
In a nutshell, blockchain node is an open-source, cross-platform runtime that allows to perform computations on decentralized platforms. It can be described as the combination of software and hardware that allows confirmation of transactions i.e. to move information on the top of blockchain.
In terms of blockchain design, nodes may act either as a redistribution point or as a communication endpoint. Typically, it is run on high-performance software; however, virtual nodes are also utilized in some blockchain.
What’s the difference between full and archive nodes of BSC?
Binance Smart Chain (BSC) full node stores the blockchain operations on disk and can process data requests from the network. Also, a full node receives and validates the new blocks and transactions. Finally, the BSC full node verifies the states of every account.
Binance Smart Chain (BSC) archive node stores full history of in-blockchain interactions (transactions, account balances, blockchain metrics etc.). Archive node is suitable for tracking the processes that occur in blockchain within a predetermined period of time.
In a nutshell, a full node works similarly to task processor of your computer while an archive node can be compared to browser history.
By contrast, light nodes broadcast only the actual state of blockchain for some purposes. BSC light node isn’t EVM-compatible.
Here’s how GetBlock accesses archive node of Binance Smart Chain
GetBlock empowers its users with reliable instant access to the nodes of major blockchain. To demonstrate its opportunities, let’s check the BAKE token (token address 0x8b4fa3e7f29924b6a60c4abac0db9dea0df594ba) balance of given Binance Smart Chain account (tokenholder address 0x8b4fa3e7f29924b6a60c4abac0db9dea0df594ba).
Image by GetBlock
The address of Binance Smart Chain (BSC) account should be inserted into tokenHolder field while the address of token (avoid scammers, always double-check it through the official project website) should be inserted into tokenAddress field.
ABI (application binary interface) is an interface utilized to call for the functions through Web3.js library.
API key is a key utilized by our service to identify the users who interact with blockchains via GetBlock.
The request to the smart contract of BAKE token via ‘balanceOf’ function demonstrates the current token balance of a given account.
Here’s how GetBlock users can trace the balance of the account in Ethereum, BSC or other programmatic chains with given address and known token contract details.
By accessing Binance Smart Chain archive node, a customer can see the balance of every account regardless of when it was created. So, this opportunity is a must for analytical purposes as well as for some DeFi-specific use-cases.
This functionality can be checked by forking the following code: https://replit.com/@getblock/ERC20Balance?v=1 (‘Fork’ button is located in the upper right corner).