# Smart Contracts
You can build many types of smart contracts on BMC, including but not limited to cryptocurrency exchanges, smart contract-based dApps, decentralized finance, etc.
On BMC, you can use Solidity language to write smart contracts, if you have any questions, please refer to official documenatation of Solidity (opens new window)。
# IDE and possible libraries
Several IDEs and libraries can help you develop and deploy smart contracts.
- Remix IDE (opens new window)：A powerful open source tool that can write smart contracts online, without installing or setting up a development environment, you can operate directly after logging in. Remix also provides tools for online code debugging, static analysis and deployment.
- Web3.js (opens new window)：A collection of libraries that allow you to interact with local or remote Ethereum nodes using HTTP, IPC or WebSocket.
gradle, which can automatically generate relevant directories, provide contract abstract interfaces, and provide console and monitoring contracts.
You can use faucet (opens new window) to get test coins.