ZKcandy is a Type 4 Zero-Knowledge Ethereum Virtual Machine (zkEVM) rollup system. 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.

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)