BNB Smart Chain client
Interact with your BNB Smart Chain node using BNB Smart Chain client.Install BNB Smart Chain client.
Use where YOUR_CHAINSTACK_ENDPOINT — your node HTTPS or WSS endpoint protected either with the key or password. See node access details.
geth attach command with the node endpoint.Invoke any methods from Web3 JavaScript API.Example below demonstrates how to get the balance of an address in wei value and convert it to ether value:
GraphQL
You can use GraphQL on a on the paid plans.UI
You can query data using the graphical interface.On Chainstack, navigate to your dedicated BNB Smart Chain node. See node access details.
Node.js
You can build a web app to query data using node.js and axios:- YOUR_CHAINSTACK_ENDPOINT — your node GraphQL endpoint protected either with the key or password. See node access details.
query— your GraphQL query. In this case, to get the latest block number.
MetaMask
On node access details, click Add to MetaMask.Truffle
Configure Truffle Suite to deploy contracts to your BNB Smart Chain nodes.Install Truffle Suite, HD Wallet-enabled Web3 provider, and create a project.
Create a new environment in
truffle-config.js, add your mnemonic phrase generated by a wallet and the BNB Smart Chain endpoint instead of YOUR_CHAINSTACK_ENDPOINT:Hardhat
Configure Hardhat to deploy contracts and interact through your BNB Smart Chain nodes.Install Hardhat and create a project.
Create a new environment in where
hardhat.config.js:- YOUR_CHAINSTACK_ENDPOINT — your node HTTPS or WSS endpoint protected either with the key or password. See node access details.
- YOUR_PRIVATE_KEY — the private key of the account that you use to deploy the contract
Run
npx hardhat run scripts/deploy.js --network chainstack and Hardhat will deploy using Chainstack.See also Forking EVM-compatible mainnet with Hardhat.Remix IDE
To make Remix IDE interact with the network through a Chainstack node:Get MetaMask and set it to interact through a Chainstack node. See Interacting through MetaMask.
web3.js
Build DApps using web3.js and BNB Smart Chain nodes deployed with Chainstack.Install web3.js.
HTTP
Use theHttpProvider object to connect to your node HTTPS endpoint and get the latest block number:
WebSocket
Use theWebsocketProvider object to connect to your node WSS endpoint and get the latest block number:
web3.py
Build DApps using web3.py and BNB Smart Chain nodes deployed with Chainstack.Install web3.py.
Connect over HTTP or WebSocket. See also EVM node connection: HTTP vs WebSocket.
HTTP
Use theHTTPProvider to connect to your node endpoint and get the latest block number:
- YOUR_CHAINSTACK_ENDPOINT — your node HTTPS endpoint protected either with the key or password
- HOSTNAME — your node HTTPS endpoint hostname
- USERNAME — your node access username (for password-protected endpoints)
- PASSWORD — your node access password (for password-protected endpoints)
WebSocket
Use theWebsocketProvider object to connect to your node WSS endpoint and get the latest block number:
- YOUR_CHAINSTACK_ENDPOINT — your node WSS endpoint protected either with the key or password
- HOSTNAME — your node WSS endpoint hostname
- USERNAME — your node access username (for password-protected endpoints)
- PASSWORD — your node access password (for password-protected endpoints)
web3.php
Build DApps using web3.php and BNB Smart Chain nodes deployed with Chainstack.Install web3.php.
Connect over HTTP:where YOUR_CHAINSTACK_ENDPOINT is your node HTTPS endpoint protected either with the key or password
web3j
Build DApps using web3j and BNB Smart Chain nodes deployed with Chainstack. Use theHttpService object to connect to your node endpoint.
Example to get the latest block number:
- ENDPOINT — your node HTTPS endpoint protected either with the key or password
- USERNAME — your node access username (for password-protected endpoints)
- PASSWORD — your node access password (for password-protected endpoints)
ethers.js
Build DApps using ethers.js and BNB Smart Chain nodes deployed with Chainstack.Install ethers.js.
Connect over HTTP or WebSocket. See also EVM node connection: HTTP vs WebSocket.
HTTP
Use theJsonRpcProvider object to connect to your node endpoint and get the latest block number:
- YOUR_CHAINSTACK_ENDPOINT — your node HTTPS endpoint protected either with the key or password
- USERNAME — your node access username (for password-protected endpoints)
- PASSWORD — your node access password (for password-protected endpoints)
-
NETWORK_ID — BNB Smart Chain network ID:
- Mainnet:
56 - Testnet:
97
- Mainnet:
WebSocket
Use theWebSocketProvider object to connect to your node WSS endpoint and get the latest block number:
- YOUR_CHAINSTACK_ENDPOINT — your node WSS endpoint endpoint protected either with the key or password
-
NETWORK_ID — BNB Smart Chain network ID:
- Mainnet:
56 - Testnet:
97
- Mainnet:
Brownie
Install Brownie.
Use the where
brownie networks add command with the node endpoint:-
ID — any name that you will use as the network tag to run a deployment. For example,
bsc-mainnet. - NETWORK_NAME — any name that you want to identify the network by in the list of networks. For example, Mainnet (Chainstack).
- YOUR_CHAINSTACK_ENDPOINT — your node HTTPS or WSS endpoint
-
NETWORK_ID — BNB Smart Chain network ID:
- Mainnet:
56 - Testnet:
97
- Mainnet:
Foundry
Install Foundry.
Forge
Use forge to develop, test, and deploy your smart contracts. To deploy a contract:- CONTRACT_NAME — name of the contract in the Solidity source code
- CONTRACT_PATH — path to your smart contract
- PRIVATE_KEY — the private key to your funded account that you will use to deploy the contract
- YOUR_CHAINSTACK_ENDPOINT — your node HTTPS endpoint protected either with the key or password