diff --git a/docs/getting-started/choose-your-path.md b/docs/getting-started/choose-your-path.md index 061218aa..63ab8093 100644 --- a/docs/getting-started/choose-your-path.md +++ b/docs/getting-started/choose-your-path.md @@ -17,26 +17,6 @@ If you prefer to learn the concepts before diving into guides, the [Concepts](.. - [Cycles](../concepts/cycles.md): why users don't pay to interact with apps - [Chain-key cryptography](../concepts/chain-key-cryptography.md): the cryptographic foundation enabling chain fusion -## Coming from Ethereum - -**You know:** Solidity, EVM, smart contracts. - -Here is how Ethereum concepts map to ICP: - -| Ethereum | ICP | Key difference | -|----------|-----|----------------| -| Smart contract | [Canister](../concepts/canisters.md) | Canisters hold GiBs of state, serve HTTP, run Wasm | -| EVM bytecode | WebAssembly | Wasm runs general-purpose code at near-native speed | -| Solidity / Vyper | Motoko, Rust (official); TypeScript, Python (community) | Multiple language options, full standard libraries | -| Block time (~12s) | Finality (~1–2s) | Update calls typically finalize in 1–2 seconds | -| Fee (user pays) | [Cycles](../concepts/cycles.md) (canister pays) | Users interact for free; developers fund computation | -| No HTTP serving | Built-in HTTP serving | Canisters serve web pages directly | -| Offchain storage (IPFS, etc.) | Onchain stable memory | Up to 500 GiB per canister, no external storage needed | -| Bridges / oracles | [Chain-key signing](../concepts/chain-fusion.md) | Canisters sign transactions on other chains natively | -| Immutable by default | Upgradeable by default | Canisters can be upgraded while preserving state | - -The biggest shift: on Ethereum, smart contracts are minimal programs that rely on offchain infrastructure. On ICP, a canister can be an entire application (frontend, backend, database, and scheduled jobs) all onchain. - ## Coding with agents **You want to:** Use AI coding agents to build on ICP. @@ -75,6 +55,26 @@ ICP can serve web assets directly from canisters, giving you a tamperproof appli - [Internet Identity](../guides/authentication/internet-identity.md): add passwordless authentication - [Wallet integration](../guides/defi/wallet-integration.md): connect user wallets +## Coming from Ethereum + +**You know:** Solidity, EVM, smart contracts. + +Here is how Ethereum concepts map to ICP: + +| Ethereum | ICP | Key difference | +|----------|-----|----------------| +| Smart contract | [Canister](../concepts/canisters.md) | Canisters hold GiBs of state, serve HTTP, run Wasm | +| EVM bytecode | WebAssembly | Wasm runs general-purpose code at near-native speed | +| Solidity / Vyper | Motoko, Rust (official); TypeScript, Python (community) | Multiple language options, full standard libraries | +| Block time (~12s) | Finality (~1–2s) | Update calls typically finalize in 1–2 seconds | +| Fee (user pays) | [Cycles](../concepts/cycles.md) (canister pays) | Users interact for free; developers fund computation | +| No HTTP serving | Built-in HTTP serving | Canisters serve web pages directly | +| Offchain storage (IPFS, etc.) | Onchain stable memory | Up to 500 GiB per canister, no external storage needed | +| Bridges / oracles | [Chain-key signing](../concepts/chain-fusion.md), [HTTPS outcalls](../guides/backends/https-outcalls.md) | Canisters sign transactions on other chains natively; HTTPS outcalls fetch external data without oracles | +| Immutable by default | Upgradeable by default | Canisters can be upgraded while preserving state | + +The biggest shift: on Ethereum, smart contracts are minimal programs that rely on offchain infrastructure. On ICP, a canister can be an entire application (frontend, backend, database, and scheduled jobs) all onchain. + ## Chain fusion (cross-chain) **You want to:** Integrate with Bitcoin, Ethereum, or other blockchains.