Learn the basics of developing on Quai.
The main differences between Quai’s EVM and the traditional EVM can be seen below.
Address Sharding
Each zone chain contains a unique set of Quai and Qi addresses based on each address’s prefix. The prefix denotes which shard and ledger the address belongs to.
API Methods and Namespace
The Go-Quai client API closely resembles
that of Ethereum, but uses the quai_
namespace rather than the eth_
namespace. The API also contains many of, but not all, the same methods.
Interoperability Opcodes
Quai’s EVM handles traditional Solidity smart contracts.
Additional Tooling
Both Ethereum and Quai-specific tooling can be used to build on Quai Network. Read more in Migrating your Ethereum App to Quai.
Transaction Types
Quai utilizes additional new transaction types compared to the typical EVM to handle cross-chain and UTXO transactions.
As mentioned earlier, Quai has a subset of Ethereum tooling that has been adapted to handle the multi-chain network. This tooling includes:
The community built wallet for Quai with support for both Quai and Qi environments.
A modified version of the Hardhat framework built for Quai Network.
A complete Quai Network interaction library for JavaScript and TypeScript.
A containerized, feature complete local node environment for Quai.
The central source for testnet Quai token drips.
Track transactions and blocks on the testnet.
Ethereum applications are typically built with some combination of Ethers, Web3.js, Viem, and WAGMI. These tools work out of the box for web based dapp development as long as you are using Pelagus wallet as an injected provider.
If you are using a different wallet or not building a web based dapp, you can still use these tools for querying chain data, however, you will need to incorporate or transition to the Quais SDK for sending transactions.
The Quais SDK is a fork of Ethers v6. Because of this, syntax in Quais is nealy identical to Ethers with the caveat that the above changes have been applied. If your application is currently built with Viem or Web3.js, these guides are helpful in understanding syntax mapping of your existing code to Quais:
Almost all of the existing functions and utilities in Ethers, Viem, and Web3.js have direct mappings to similar or the same methods in Quais.js, with the exception of methods that utilize provider polling.
Learn the basics of developing on Quai.
The main differences between Quai’s EVM and the traditional EVM can be seen below.
Address Sharding
Each zone chain contains a unique set of Quai and Qi addresses based on each address’s prefix. The prefix denotes which shard and ledger the address belongs to.
API Methods and Namespace
The Go-Quai client API closely resembles
that of Ethereum, but uses the quai_
namespace rather than the eth_
namespace. The API also contains many of, but not all, the same methods.
Interoperability Opcodes
Quai’s EVM handles traditional Solidity smart contracts.
Additional Tooling
Both Ethereum and Quai-specific tooling can be used to build on Quai Network. Read more in Migrating your Ethereum App to Quai.
Transaction Types
Quai utilizes additional new transaction types compared to the typical EVM to handle cross-chain and UTXO transactions.
As mentioned earlier, Quai has a subset of Ethereum tooling that has been adapted to handle the multi-chain network. This tooling includes:
The community built wallet for Quai with support for both Quai and Qi environments.
A modified version of the Hardhat framework built for Quai Network.
A complete Quai Network interaction library for JavaScript and TypeScript.
A containerized, feature complete local node environment for Quai.
The central source for testnet Quai token drips.
Track transactions and blocks on the testnet.
Ethereum applications are typically built with some combination of Ethers, Web3.js, Viem, and WAGMI. These tools work out of the box for web based dapp development as long as you are using Pelagus wallet as an injected provider.
If you are using a different wallet or not building a web based dapp, you can still use these tools for querying chain data, however, you will need to incorporate or transition to the Quais SDK for sending transactions.
The Quais SDK is a fork of Ethers v6. Because of this, syntax in Quais is nealy identical to Ethers with the caveat that the above changes have been applied. If your application is currently built with Viem or Web3.js, these guides are helpful in understanding syntax mapping of your existing code to Quais:
Almost all of the existing functions and utilities in Ethers, Viem, and Web3.js have direct mappings to similar or the same methods in Quais.js, with the exception of methods that utilize provider polling.