# Smart Contracts
IoTeX Blockchain integrates the Ethereum Virtual Machine (EVM), which is widely used by blockchain developers. Existing EVM-based dApps can be already ported over to the IoTeX Network with no changes!
# Solidity Programming Language
You can use Solidity as a programming language for IoTeX smart contracts: the blockchain is 100% compliant with Solidity syntax, up to it's latest release.
You can find many resources about smart contract programming with Solidity on the Internet: starting from the official docs (opens new window) and GitHub repository (opens new window), to this best practice handbook (opens new window) and the popular CryptoZombies (opens new window) interactive course, plenty of choices are available!
Another great source to start with is this book form 'O Really: Mastering Ethereum: Building Smart Contracts and DApps - 1st Edition (opens new window) that is freely readable on GitHub.
# Smart contracts: IoTeX Vs Ethereum
Although IoTeX smart contracts are fully compatible with Ethereum ones, developing your contracts on the IoTeX blockchain will bring some additional benefits: IoTeX is designed to be a IoT-Friendly platform, where the blockchain is the orchestrating layer for devices coordination and end-to-end trusted data transfers.
For this reason, the IoTeX design provides a fast and scalable blockchain: that means your smart contracts on IoTeX will run with a 5-second confirmation time, instant finality of transactions, and negligible transaction fees! Additionally, with the unique-of-his-kind IoTeX Tokenomics (opens new window) in place, millions of "Powered by IoTeX" IoT devices (opens new window) getting registered on the blockchain, more an more services providers (opens new window) joining the ecosystem, the IoTeX blockchain is the perfect environment for deploying smart contracts that will be used in real world applications!
The IoTeX blockchain is the perfect environment for deploying smart contracts that will be used in real world applications!