EVM Compatibility
Overview
Understanding how Sophon’s EVM implementation compares to Ethereum
EVM Compatibility
While Sophon is EVM compatible and you can use familiar development tools from the Ethereum ecosystem, it provides two ways to deploy contracts:
- Native zkEVM contracts (optimized for performance and lower gas costs)
- Standard EVM contracts (through the EVM Bytecode Interpreter)
Key Benefits
- EVM Compatibility: Most Ethereum smart contracts will work on Sophon
- Familiar Development Tools: Use the same development tools like Hardhat and Foundry
- Extended Functionality: Access to additional features like Paymasters
- Dual Execution Models: Support for both zkEVM native contracts and EVM bytecode contracts
Recommended Best Practices
When developing for Sophon, consider the following:
- Test thoroughly on Sophon testnet before deploying to mainnet
- Be aware of gas model differences between Ethereum and Sophon
- Understand limitations in contract interactions between EVM and zkEVM contracts
- Take advantage of zkEVM-specific features like paymasters and account abstraction
Core Differences and Implementations
Learn about the zkEVM and how it differs from standard Ethereum EVM.
EVM Interpreter
How Sophon’s EVM Bytecode Interpreter works and enables EVM equivalence.
Detailed ZkVM vs EVM Differences
Specific differences between Sophon’s zkVM and Ethereum EVM, including opcode and precompile differences.
Getting Started
If you’re unfamiliar with developing or deploying on the ZK Stack, check out:
Additional Resources
Below are some important resources to help you understand Sophon’s EVM compatibility: