Solidity support and EVM compatibility on Mantle network
Since Mantle network is EVM compatible, you can deploy any contract written in Solidity, Vyper, or any other contract development language as long as it can be compiled to EVM bytecode.
There are some key differences in Solidity opcode behavior on L1 Ethereum and L2 Mantle VM. This can impact certain operations and features when deploying your dApps on Mantle. The following table lists the opcodes that behave differently accompanied with a description.
Not supported currently, and so Solidity version 0.8.20 and higher cannot be used with the default shanghai EVM version.
Configuring the EVM version:
For Solc, refer here
For Hardhat, refer here