Building on ZKcandy
ZKcandy is a Type 4 Zero-Knowledge Ethereum Virtual Machine (zkEVM) rollup system that employs the Elastic Chain stack by ZKsync. It uses the Ethereum Mainnet for Layer-1 finality.
As a high-level language-equivalent zkEVM rollup, smart contracts written in Vyper or Solidity should be compiled with zksolc
(for Solidity) and/or zkvyper
(for Vyper) compilers for best results. These compilers are also available as plugins for the Hardhat development environment as @matterlabs/hardhat-zksync-solc
and @matterlabs/hardhat-zksync-vyper
respectively.
If you wish to use a different version of zksolc
to compile your smart contract, you may run the following command to retrieve the latest list of zksolc
versions that are compatible with contract source code verification on our Block Explorer:
curl
https://sepolia.contracts.zkcandy.io/contract_verification/zksolc_versions
While most smart contract bytecode used on Ethereum or other EVM networks may work, their full or and proper functionality cannot be guaranteed on ZKcandy. Therefore it is best practice to compile high-level contract code using the appropriate compilers instead of recycling or reusing existing bytecode.
On the page linked below you will find a nonexhaustive list of software that you can use for smart contract development on ZKcandy:
Integrated Development Environment (IDE)On this page