A guide to available tools, components, and platforms for developing applications on BSC.
This list was forked from ConsenSys , and we verified most of the parts on BSC.
We hope both new and experienced blockchain developers can benefit from this list.
Contributions are welcome!
Feel free to submit a pull request, with anything from small fixes to tools you'd like to add (or remove!). If adding a new tool, please add a brief description that you think new developers would understand.
Projects that do not have a working product will not be added.
Projects that are deprecated or no longer maintained will be removed.
Projects that are paid/restricted services without open source code or developer reviews will be further vetted.
We separate the support of tools/infra into:
✅ seamless support.
✔️ need custom config bsc network.
BNB Smart Chain Config:
Developing Smart Contracts
Name
Description
Support
Solidity
Ethereum smart contracting language
✅
Vyper
New experimental pythonic programming language
✅
Name
Description
Support
Truffle
Most popular smart contract development, testing, and deployment framework.
✔️
Embark
Framework for DApp development
✔️
Waffle
Framework for advanced smart contract development and testing, small, flexible, fast (based on ethers.js)
✔️
Dapp
Framework for DApp development, successor to DApple
✔️
OpenZeppelin SDK
OpenZeppelin SDK: A suite of tools to help you develop, compile, upgrade, deploy and interact with smart contracts.
✔️
0xcert
JavaScript framework for building decentralized applications
✔️
Name
Description
Support
Remix
Web IDE with built in static analysis, test blockchain VM
✅
Intellij Solidity Plugin
Open-source plug-in for JetBrains IntelliJ Idea IDE
✅
BSC Studio
BNB Studio is an integrated development environment (IDE) making developing BNB smart contracts faster and easier.
✅
ChainIDE
A Web-based Cross-Chain Dapp Development IDE Platform
✅
Name
Description
Support
hardhat
Extensible developer tool that helps smart contract developers increase productivity by reliably bringing together the tools they want.
✔️
Azure Blockchain Dev Kit for BSC for VSCode
VSCode extension that allows for creating smart contracts and deploying them inside of Visual Studio Code
✔️
Name
Description
Support
bscnode
Run an BSC node for development
✅
Ganache
App for test BSC blockchain with visual UI and logs, except for some precompile contract, the rest is same
✅
Local BSC Network
User can simply set up a bsc network using clique consensus
✅
Name
Description
Support
BSC faucet
BSC testnet faucet, support BEP20 as well
✅
Name
Description
Support
Web3.js
Javascript Web3
✅
Eth.js
Javascript Web3 alternative
✅
Ethers.js
Javascript Web3 alternative, useful utilities and wallet features
✅
light.js
A high-level reactive JS library optimized for light clients
✅
Web3Wrapper
Typescript Web3 alternative
✅
Ethereumjs
A collection of utility functions for Ethereum like ethereumjs-util and ethereumjs-tx
✅
flex-contract and flex-ether
Modern, zero-configuration, high-level libraries for interacting with smart contracts and making transactions.
✅
web3x
A TypeScript port of web3.js. Benefits includes tiny builds and full type safety, including when interacting with contracts.
✅
Nethereum
Cross-platform Ethereum development framework
✅
Drizzle
Redux library to connect a frontend to a blockchain
✅
Tasit SDK
A JavaScript SDK for making native mobile Ethereum dapps using React Native
✅
Subproviders
Several useful subproviders to use in conjunction with Web3-provider-engine (including a LedgerSubprovider for adding Ledger hardware wallet support to your dApp)
✅
web3-react
React framework for building single-page Ethereum dApps
✅
ethvtx
ethereum-ready & framework-agnostic redux store configuration. docs
✅
ChainAbstractionLayer
Communicate with different blockchains (including Ethereum) using a single interface.
✅
Delphereum
a Delphi interface to the Ethereum blockchain that allows for development of native dApps for Windows, macOS, iOS, and Android.
✅
Arkane
Javascript Web3, MetaMask alternative, no extensions needed, cross browser support, works on mobile and web. Build for mainstream user adoption. Also offers rich backend APIs
✅
Name
Description
Support
Web3.py
Python Web3
✅
Web3.php
PHP Web3
✅
Ethereum-php
PHP Web3
✅
Web3j
Java Web3
✅
Nethereum
.Net Web3
✅
Ethereum.rb
Ruby Web3
✅
Web3.hs
Haskell Web3
✅
KEthereum
Kotlin Web3
✅
Eventeum
A bridge between Ethereum smart contract events and backend microservices, written in Java by Kauri
✅
Ethereumex
Elixir JSON-RPC client for the Ethereum blockchain
✅
Ethereum-jsonrpc-gateway
A gateway that allows you to run multiple Ethereum nodes for redundancy and load-balancing purposes. Can be ran as an alternative to (or on top of) Infura. Written in Golang.
✅
EthContract
A set of helper methods to help query ETH smart contracts in Elixir
✅
Ethereum Contract Service
A MESG Service to interact with any Ethereum contract based on its address and ABI.
✅
Ethereum Service
A MESG Service to interact with events from Ethereum and interact with it.
✅
Marmo
Python, JS, and Java SDK for simplifying interactions with Ethereum. Uses relayers to offload transaction costs to relayers.
✅
Arkane
Set of APIs to query BSC, create wallets and perform transactions. API includes functions to create and manage ERC721 and ERC1155 NFTs on BSC. Also offers a rich frontend.
✅
Bootstrap/out of box tools
Name
Description
Support
Truffle boxes
Packaged components for the Ethereum ecosystem
✔️
Private networks deployment scripts
Out-of-the-box deployment scripts for private PoA networks
✅
Local Ethereum Network
Out-of-the-box deployment scripts for private PoW networks
✅
Cheshire
A local sandbox implementation of the CryptoKitties API and smart contracts, available as a Truffle Box
✅
aragonCLI
aragonCLI is used to create and develop Aragon apps and organizations.
✅
ArcJS
Library that facilitates javascript application access to the DAOstack Arc ethereum smart contracts.
✅
Blocknative
Assist.js is an embeddable widget that improves Dapp usability. The tool programmatically identifies and outlines clear actions for end-users to follow when interacting with MetaMask to overcome — and even prevent — common pitfalls and obstacles.
✅
Arkane
Wallet provider for BSC Dapps, supports social login and BSC NFTs (ERC721 and ERC1155)
✅
Ethereum ABI (Application Binary Interface) tools
Name
Description
Support
ABI decoder
library for decoding data params and events from Ethereum transactions
✅
ABI-gen
Generate Typescript contract wrappers from contract ABI's.
✅
Ethereum ABI UI
Auto-generate UI form field definitions and associated validators from an Ethereum contract ABI
✅
headlong
type-safe Contract ABI and Recursive Length Prefix library in Java
✅
Truffle Pig
a development tool that provides a simple HTTP API to find and read from Truffle-generated contract files, for use during local development. Serves fresh contract ABIs over http.
✅
Ethereum Contract Service
A MESG Service to interact with any Ethereum contract based on its address and ABI.
✅
Nethereum-CodeGenerator
A web based generator which creates a Nethereum based C# Interface and Service based on Solidity Smart Contracts.
✅
Name
Description
Support
Seth
Seth is an Ethereum client tool—like a "MetaMask for the command line"
✔️
Ankr
support deploy BSC by one click, and provide instant API access to major blockchain and DeFi protocols.
✅
Name
Description
Support
Whisper
Communication protocol for DApps to communicate with each other, a native base layer service of the Ethereum web3 stack
✔️
DEVp2p Wire Protocol
Peer-to-peer communications between nodes running Ethereum/Whisper
✔️
Pydevp2p
Python implementation of the RLPx network layer
✅
3Box Threads
API to allow developers to implement IPFS persisted, or in memory peer to peer messaging.
✔️
Name
Description
Support
Bitquery
GraphQL APIs to get historical and realtime Blockchain data
✔️
The Graph
An indexing protocol that can be used to build open APIs (subgraphs) for querying BSC network.
✅
NFTscan
A NFT Explorer and Analytics Platform
✅
BlockVision
A high-availability indexing network, supporting complex queries and data storage across multiple blockchains.
✅
Name
Description
Support
Solidity code coverage
Solidity code coverage tool
✅
Solidity coverage
Alternative code coverage for Solidity smart-contracts
✅
Solidity function profiler
Solidity contract function profiler
✅
Sol-profiler
Alternative and updated Solidity smart contract profiler
✅
Espresso
Speedy, parallelised, hot-reloading solidity test framework
✅
Eth tester
Tool suite for testing Ethereum applications
✅
Cliquebait
Simplifies integration and accepting testing of smart contract applications with docker instances that closely resembles a real blockchain network
✅
Hevm
The hevm project is an implementation of the Ethereum virtual machine (EVM) made specifically for unit testing and debugging smart contracts
✅
Ethereum graph debugger
Solidity graphical debugger
✅
Tenderly CLI
Speed up your development with human readable stack traces
✅
Solhint
Solidity linter that provides security, style guide and best practice rules for smart contract validation
✅
Ethlint
Linter to identify and fix style & security issues in Solidity, formerly Solium
✅
Decode
npm package which parses tx's submitted to a local testrpc node to make them more readable and easier to understand
✅
truffle-assertions
An npm package with additional assertions and utilities used in testing Solidity smart contracts with truffle. Most importantly, it adds the ability to assert whether specific events have (not) been emitted.
✅
Psol
Solidity lexical preprocessor with mustache.js-style syntax, macros, conditional compilation and automatic remote dependency inclusion.
✅
solpp
Solidity preprocessor and flattener with a comprehensive directive and expression language, high precision math, and many useful helper functions.
✅
Decode and Publish
Decode and publish raw ethereum tx. Similar to https://live.blockcypher.com/btc-testnet/decodetx/
✅
Doppelgänger
a library for mocking smart contract dependencies during unit testing.
✅
rocketh
A simple lib to test ethereum smart contract that allow to use whatever web3 lib and test runner you choose.
✅
pytest-cobra
PyTest plugin for testing smart contracts for Ethereum blockchain.
✅
Name
Description
Support
MythX
Security verification platform and tools ecosystem for Ethereum developers
✅
Mythril
Open-source EVM bytecode security analysis tool
✅
Oyente
Alternative static smart contract security analysis
✅
Securify
Security scanner for Ethereum smart contracts
✅
SmartCheck
Static smart contract security analyzer
✅
Ethersplay
EVM disassembler
✅
Evmdis
Alternative EVM disassembler
✅
Hydra
Framework for cryptoeconomic contract security, decentralised security bounties
✅
Solgraph
Visualise Solidity control flow for smart contract security analysis
✅
Manticore
Symbolic execution tool on Smart Contracts and Binaries
✅
Slither
A Solidity static analysis framework
✅
Adelaide
The SECBIT static analysis extension to Solidity compiler
✅
solc-verify
A modular verifier for Solidity smart contracts
✅
Solidity security blog
Comprehensive list of known attack vectors and common anti-patterns
✅
Awesome Buggy ERC20 Tokens
A Collection of Vulnerabilities in ERC20 Smart Contracts With Tokens Affected
✅
Free Smart Contract Security Audit
Free smart contract security audits from Callisto Network
✅
Piet
A visual Solidity architecture analyzer
✅
Name
Description
Support
Neufund - Smart Contract Watch
A tool to monitor a number of smart contracts and transactions
✔️
BlockScout
A tool for inspecting and analyzing EVM based blockchains. The only full featured blockchain explorer for Ethereum networks.
✔️
Terminal
A control panel for monitoring dapps. Terminal can be used to monitor your users, dapp, blockchain infrastructure, transactions and more.
✔️
Ethereum-watcher
An extensible framework written in Golang for listening to on-chain events and doing something in response.
✔️
Other Miscellaneous Tools
Name
Description
Support
aragonPM
a decentralized package manager powered by aragonOS and Ethereum. aragonPM enables decentralized governance over package upgrades, removing centralized points of failure.
✅
Truffle boxes
Packaged components for building DApps fast.
✔️
Solc
Solidity compiler
✅
Sol-compiler
Project-level Solidity compiler
✅
Solidity cli
Compile solidity-code faster, easier and more reliable
✅
Solidity flattener
Combine solidity project to flat file utility. Useful for visualizing imported contracts or for verifying your contract on Etherscan
✅
Sol-merger
Alternative, merges all imports into single file for solidity contracts
✅
RLP
Recursive Length Prefix Encoding in JavaScript
✅
Eth crypto
Cryptographic javascript-functions for Ethereum and tutorials to use them with web3js and solidity
✅
Parity Signer
mobile app allows signing transactions
✅
py-eth
Collection of Python tools for the Ethereum ecosystem
✅
truffle-flattener
Concats solidity files developed under Truffle with all of their dependencies
✅
Decode
npm package which parses tx's submitted to a local testrpc node to make them more readable and easier to understand
✅
TypeChain
Typescript bindings for Ethereum smartcontracts
✅
EthSum
A Simple Ethereum Address Checksum Tool
✅
PHP based Blockchain indexer
allows indexing blocks or listening to Events in PHP
✔️
Purser
JavaScript universal wallet tool for Ethereum-based wallets. Supports software, hardware, and Metamask -- brings all wallets into a consistent and predictable interface for dApp development.
✅
Node-Metamask
Connect to MetaMask from node.js
✅
Solidity-docgen
Documentation generator for Solidity projects
✅
Ethereum ETL
Export Ethereum blockchain data to CSV or JSON files
✔️
prettier-plugin-solidity
Prettier plugin for formatting Solidity code
✅
Unity3dSimpleSample
Ethereum and Unity integration demo
✅
Flappy
Ethereum and Unity integration demo/sample
✅
Wonka
Nethereum business rules engine demo/sample
✅
Resolver-Engine
A set of tools to standarize Solidity import and artifact resolution in frameworks.
✅
Ethereum-tx-sender
A useful library written in Golang to reliably send a transaction — abstracting away some of the tricky low level details such as gas optimization, nonce calculations, synchronization, and retries.
✅
Popular Smart Contract Libraries
Name
Description
Support
Zeppelin
Contains tested reusable smart contracts like SafeMath and OpenZeppelin SDK library for smart contract upgradeability
✅
cryptofin-solidity
A collection of Solidity libraries for building secure and gas-efficient smart contracts on Ethereum.
✅
Modular Libraries
A group of packages built for use on blockchains utilising the Ethereum Virtual Machine
✅
DateTime Library
A gas-efficient Solidity date and time library
✅
Aragon
DAO protocol. Contains aragonOS smart contract framework with focus on upgradeability and governance
✅
ARC
an operating system for DAOs and the base layer of the DAO stack.
✅
0x
DEX protocol
✅
Token Libraries with Proofs
Contains correctness proofs of token contracts wrt. given specifications and high-level properties
✅
Provable API
Provides contracts for using the Provable service, allowing for off-chain actions, data-fetching, and computation
✅
Name
Description
Support
approve.sh
manage approval of account
✅