EVM-compatibility

Creditcoin includes its own Ethereum Virtual Machine (EVM), which allows developers to use existing Ethereum tools to deploy their own smart contracts on-chain. The EVM compatibility layer is made of several main components:

  • Execution environment: the actual EVM that allows deploying and running contracts compiled using Solidity, Vyper, or other smart contract programming languages.

  • Block and Transaction data: EVM blocks and transactions are stored by Creditcoin alongside the Substrate blockchain, allowing Ethereum explorers to index the EVM side of Creditcoin just as they would with other Ethereum-based chains.

  • Compatible RPC: Creditcoin provides an EVM compatible RPC endpoint in addition to its Substrate endpoint. Developers can leverage this to quickly integrate existing dApp tools and protocols with the Creditcoin mainnet.

Key differences

Transaction fees & gas

Creditcoin and Ethereum have different transaction fee models. While on Ethereum, fees are paid according to how much computational and storage resources are used, Creditcoin uses the Substrate concept of “weight” to calculate transaction costs.

Weight is used to describe the time it takes to validate a block by controlling the execution time that a block can consume. Each extrinsic has its own way of calculating weight and it can be constant or dynamic.

Each EVM operation has its own associated weight which is then used to calculate the gas fee EVM users need to pay. Even if different, Creditcoin’s implementation is designed to produce effectively identical results to Ethereum’s mainnet.

Note: although Creditcoin employs a distinct approach to transaction fees and gas mechanisms, it remains compatible with the same range of transaction types as Ethereum, including those defined by EIP-1559 and potentially any new types introduced in the future (unless explicitly indicated otherwise).

Consensus

Creditcoin’s EVM implementation does not have its own consensus mechanism; it relies Creditcoin’s Nominated Proof-of-Stake system for block production and finalization. Currently, EVM accounts cannot participate in staking as it requires interacting directly with the Substrate side of the blockchain.

Last updated