Overviewβ
Quai Network runs a modified Ethereum Virtual Machine environment that provides internal and cross-chain smart contract execution across zone chains in the network. Each chain's EVM is capable of executing smart contracts written in Solidity, SolidityX, and other languages that compile to EVM bytecode.
Generic Solidity smart contracts can be deployed to any single chain in the network and will function as expected. However, to take full advantage of Quai's cross-chain functionality, developers must use SolidityX based smart contracts.
Choosing Solidity vs SolidityXβ
There are a few main differences between Solidity and SolidityX that developers should consider when choosing which language to use for smart contract development on Quai Network.
Solidityβ
Recommended for developers new to Quai Network
Single chain deployments without cross-chain functionality
Easier to use, deploy, and test + compatible with existing Solidity tooling
Supports any previously existing Solidity compiler version
Compatible with existing Solidity contract libraries like OpenZeppelin and Solady.
Recommended for most use cases
SolidityXβ
Recommended for more advanced developers looking to experiment with cross-chain functionality
Enables cross-chain contract deployments
Requires the SolidityX compiler and additional configuration (can be difficult to set up)
Not compatible with pre-existing Solidity contract libraries.
Will be forward compatible with dynamic scaling events
For more detailed information please visit qu.ai/docs.