Smart contract development
Smart contract development
zkSync Era allows developers to build projects using the same programming languages and tools used to build on Ethereum.
Differences with Ethereum
Although most smart contracts work out of the box, we strongly recommend developers to read about the differences between Ethereum and zkSync Era, and test their projects both locally using the local setup and in testnet.
Solidity support
Currently, Solidity versions as old as 0.4.12
are supported, although we strongly recommend using the latest supported revision of 0.8, as older versions contain known bugs and have limitations with our compiler.
Please read this section of the docs if your project uses libraries.
Vyper support
Currently only Vyper 0.3.3
is supported.
Compilers
Although you can write smart contracts in both Solidity and Vyper, compiling these contracts to our zkEVM bytecode requires special compilers:
You can find more information about our compilers in the Compiler toolchain section.
Learn more about how to install and configure the compiler Hardhat plugins in the links below: