Skip to content

Latest commit

 

History

History
67 lines (54 loc) · 4.62 KB

File metadata and controls

67 lines (54 loc) · 4.62 KB

Ethereum vs. Canton

Coming from Ethereum? This chapter maps the terminology and tooling you already know to their Canton counterparts, and collects deeper reads on where the two platforms architecturally differ.

Terminology Mapping

How common Ethereum terms map to their Canton equivalents.

Ethereum Canton
Blockchain Synchronizer (coordinates consensus; holds no shared ledger state)
Node Validator, also called participant; stores only its parties' data
Smart contract Daml template
Contract instance Contract (immutable; updates archive the old and create a new one)
Function / method Choice (archives and/or creates contracts)
Solidity Daml
Global state Distributed state (each node holds only its parties' data)
Account / EOA Party (format name::fingerprint)
Gas Traffic, paid in Canton Coin
ETH Canton Coin (CC)
ERC-20 / token standard Canton Network Token Standard (CIP-0056)
Block explorer (Etherscan) Global explorers (Cantonscan, CCView, others); also per-app Scan APIs
Public RPC endpoint (Infura, Alchemy) Per-participant Ledger API; no global RPC endpoint
Local dev chain (Anvil, Hardhat Network) LocalNet via CN Quickstart
Testnet DevNet (development staging) and TestNet (production staging)
Solidity on EVM Zenith, Canton's EVM layer (in development)

Source: Canton for Ethereum Developers.

How-to Mapping

How common Ethereum workflows translate to Canton.

Task Ethereum Canton
Write contracts Solidity in Remix, Hardhat, or Foundry Daml in VS Code with the Daml SDK
Test contracts Hardhat or Foundry test suites Daml Script (daml test)
Run a local chain Hardhat Network, Anvil, or Ganache LocalNet via CN Quickstart
Connect to a test network Public RPC endpoint Through a sponsoring Super Validator
Query ledger state JSON-RPC (eth_call, getLogs) Ledger API against your participant's PQS
Inspect a transaction Etherscan The relevant app's Scan API
Deploy a fungible token Write or clone an ERC-20 Implement the Canton Network Token Standard (CIP-0056)
Run Solidity unchanged Native on any EVM chain Zenith, Canton's EVM layer (in development)

Daml models rights and obligations rather than accounts and shared state. Authorization is declared on the contract through signatory, observer, and controller parties instead of asserted at runtime through msg.sender, so Ethereum idioms like reentrancy guards and gas-based DoS mitigations have no Canton equivalent.

Articles and Deep Dives

Zenith: EVM on Canton