Creditcoin Docs
Creditcoin Docs
  • What is Creditcoin
    • CTC Token 101
    • Acquiring Creditcoin Assets
  • SwapCTC Quick Guide
  • Wallets
    • How to Connect Your Wallet to Creditcoin
      • Polkadot-JS Extension
      • Metamask
      • Command-line Interface
        • Subkey
        • Creditcoin CLI
    • Advanced
      • Substrate & EVM accounts
      • Proxy Accounts
        • Setting up a Staking Proxy Account
        • Setting up a Validator
    • Using Testnet Faucet
  • Staking
    • Bonded Tokens
    • Validator Elections
      • Elections Example
    • Eras and Sessions
    • Staking Rewards
    • Slashing
  • Nominator Guides
    • Nominating with Staking Pools
      • Choosing a Pool
      • Joining a Pool
      • Creating a Pool
      • Exiting a Pool
      • Managing a Pool
    • Nominating without Staking Pools
    • Claiming Rewards
  • Validator Guides
    • Minimum requirements
    • Using a Docker container
    • Stake using Creditcoin CLI
  • EVM-compatibility
  • Smart Contract Guides
    • Creditcoin Endpoints
    • Deploying contracts with Remix
    • Hardhat Smart Contract Development
    • Creating Dapps with ethers.js
  • Environments
    • Mainnet
    • Testnet
  • Releases
  • LEGAL
    • Terms of Use
    • Privacy Policy
Powered by GitBook
On this page

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.

PreviousStake using Creditcoin CLINextSmart Contract Guides

Last updated 1 year ago