|
1 | 1 | --- |
2 | | -title: "以太坊到Aptos速查表" |
| 2 | +title: "Ethereum 到 Aptos 速查表" |
3 | 3 | --- |
4 | 4 |
|
5 | | -# 以太坊到Aptos速查表 |
| 5 | +# Ethereum 到 Aptos 速查表 |
6 | 6 |
|
7 | | -要了解更多差异和相似之处,请参阅 [Aptos Learn](https://learn.aptoslabs.com/en/tutorials/ethereum-to-aptos-guide/cheat-sheet?workshop=eth-to-aptos) |
| 7 | +如需了解更多差异与相似之处,请参阅 [Aptos Learn](https://learn.aptoslabs.com/en/tutorials/ethereum-to-aptos-guide/cheat-sheet?workshop=eth-to-aptos) |
8 | 8 |
|
9 | | -### 高层概览| 功能特性 | Ethereum | Aptos | |
| 9 | +### 高层概览 |
| 10 | + |
| 11 | +| 功能 | Ethereum | Aptos | |
10 | 12 | | -------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------- | |
11 | | -| **智能合约** | Solidity, EVM | Move, MoveVM | |
12 | | -| **优势** | 成熟度高,采用广泛 | 可扩展性强,低延迟,费用可预测 | |
13 | | -| **交易费用** | 波动大,可能较高 | 费用更低且更稳定 | |
14 | | -| **账户地址** | 160位 | 256位 | |
15 | | -| **账户结构** | 单一余额字段,使用nonce计数 | 模块化资源结构,使用序列号 | |
16 | | -| **数据存储** | Patricia默克尔树 | 基于资源和模块的全局存储 | |
17 | | -| **存储理念** | 基于合约的存储 | 以账户为中心的代码与数据存储理念 | |
18 | | -| **示例代码** | [ERC-20](https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/contracts/token/ERC20) | [可互换资产](https://github.com/aptos-labs/aptos-core/blob/main/aptos-move/framework/aptos-framework/sources/fungible_asset.move) | |
19 | | -| **调用方标识** | `msg.sender`er` | `&signer` 引用 | |
20 | | -| **可升级性** | 代理模式 | 直接模块升级 | |
21 | | -| **安全性与保障** | 易受重入攻击等漏洞影响 | 缓解常见安全漏洞 | |
22 | | -| **调度类型** | 动态调度 | 静态调度 | |
23 | | -| **同质化代币标准** | [ERC-20](https://docs.openzeppelin.com/contracts/4.x/erc20) | [Coin](../smart-contracts/aptos-coin.mdx) (传统) 和 [可替代资产](../smart-contracts/fungible-asset.mdx) | |
24 | | -| **非同质化代币标准** | [ERC-721](https://docs.openzeppelin.com/contracts/4.x/erc721), [ERC-1155](https://docs.openzeppelin.com/contracts/4.x/erc1155) | [数字资产](../smart-contracts/digital-asset.mdx) | |
25 | | -| **区块链交互** | [Ethers.js 库](https://docs.ethers.org/v6/) | [Aptos Typescript SDK](../sdks/ts-sdk.mdx) | |
| 13 | +| **智能合约** | Solidity, EVM | Move, MoveVM | |
| 14 | +| **优势** | 成熟,广泛采用 | 可扩展性、高吞吐量、低延迟、可预测费用 | |
| 15 | +| **交易手续费** | 变化大,可能很高 | 更低且更可预测 | |
| 16 | +| **账户地址** | 160 位 | 256 位 | |
| 17 | +| **账户结构** | 余额存储于单一字段,使用 nonce | 模块与资源,使用序列号 | |
| 18 | +| **数据存储** | Patricia Merkle 树 | 通过资源和模块实现的全局存储 | |
| 19 | +| **存储思路** | 基于合约的存储 | 以账户为中心的代码与数据管理 | |
| 20 | +| **示例代码** | [ERC-20](https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/contracts/token/ERC20) | [Fungible Asset](https://github.com/aptos-labs/aptos-core/blob/main/aptos-move/framework/aptos-framework/sources/fungible_asset.move) | |
| 21 | +| **调用者 ID** | `msg.sender` | `&signer` reference | |
| 22 | +| **可升级性** | 代理模式 | 直接模块升级 | |
| 23 | +| **安全性** | 易受重入等攻击 | 缓解常见漏洞 | |
| 24 | +| **调度类型** | 动态调度 | 静态调度 | |
| 25 | +| **FT 标准** | [ERC-20](https://docs.openzeppelin.com/contracts/4.x/erc20) | [Coin](../smart-contracts/aptos-coin.mdx)(传统)与 [Fungible Asset](../smart-contracts/fungible-asset.mdx) | |
| 26 | +| **NFT 标准** | [ERC-721](https://docs.openzeppelin.com/contracts/4.x/erc721), [ERC-1155](https://docs.openzeppelin.com/contracts/4.x/erc1155) | [Digital Asset](../smart-contracts/digital-asset.mdx) | |
| 27 | +| **区块链交互** | [Ethers.js library](https://docs.ethers.org/v6/) | [Aptos Typescript SDK](../sdks/ts-sdk.mdx) | |
26 | 28 |
|
27 | 29 | <br /> |
28 | 30 |
|
29 | | -### 代币标准详细对比| | Solidity | Move (Aptos) | |
| 31 | +### 代币标准详细对比 |
| 32 | + |
| 33 | +| | Solidity | Move (Aptos) | |
30 | 34 | | ---------------------- | ----------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
31 | | -| **代币结构** | 每个代币都是独立的合约。 | 所有代币均采用统一、可复用的合约,通过类型化的`Coin`或`FungibleAsset`实现。 | |
32 | | -| **代币标准** | 需符合ERC20等标准;具体实现可能不同。 | 所有代币采用统一的接口和实现方式。 | |
33 | | -| **余额存储** | 余额通过映射结构存储在合约中。 | **资源导向型余额**:余额作为资源存储在用户账户中。资源无法随意创建,确保代币价值的完整性。 | |
34 | | -| **转账机制** | 代币可在无需接收方明确授权的情况下转移。 | 除特殊情况(如AptosCoin)外,代币转账通常需要接收方的`signer`授权。 | |
| 35 | +| **代币结构** | 每个代币是独立的合约。 | 每个代币是单一、可复用合约下的类型化 `Coin` 或 `FungibleAsset`。 | |
| 36 | +| **代币标准** | 必须符合如 ERC20 等标准,具体实现可变。 | 所有代币采用统一接口和实现。 | |
| 37 | +| **余额存储** | 余额通过合约内的 mapping 结构存储。 | **资源导向余额**:余额作为资源存储在用户账户中。资源不可随意创建,确保代币价值的完整性。 | |
| 38 | +| **转账机制** | 可在未获接收方明确授权的情况下转账。 | 除特定情况(如 AptosCoin)外,代币通常需要接收方 `signer` 权限进行转账。 | |
35 | 39 |
|
36 | 40 | <br /> |
37 | 41 |
|
38 | | -### EVM与Move VM详细对比 |
| 42 | +### EVM 与 Move VM 详细对比 |
39 | 43 |
|
40 | | -- **EVM**:以灵活性和动态调度著称,支持广泛的智能合约行为。但这种灵活性可能导致并行执行和网络操作的复杂性。 |
41 | | -- **Move VM**:注重安全性和效率,采用虚拟机与编程语言深度集成的设计。其数据存储模型支持更好的并行化,静态调度方法增强了安全性和可预测性。 |
| 44 | +- **EVM**:以灵活性和动态调度著称,支持多样化的智能合约行为。但这种灵活性会导致并行执行和网络操作的复杂性提升。 |
| 45 | +- **Move VM**:注重安全与高效,虚拟机与编程语言深度集成。其数据存储模型有助于更好地并行化,静态调度提升了安全性和可预测性。 |
42 | 46 |
|
43 | 47 | <br /> |
44 | | -| | EVM (以太坊虚拟机) | Move VM (Move虚拟机) | |
| 48 | + |
| 49 | +| | EVM (Ethereum Virtual Machine) | Move VM (Move Virtual Machine) | |
45 | 50 | | ------------------------------- | ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | |
46 | | -| **数据存储** | 数据存储在智能合约的存储空间中。 | 数据分布在智能合约、用户账户和对象之间存储。 | |
47 | | -| **并行化** | 由于共享存储空间,并行执行能力受限。 | 灵活的分离式存储设计支持更高效的并行执行。 | |
48 | | -| **虚拟机与语言集成** | EVM与智能合约语言(如Solidity)是分离的层级。 | VM层与Move语言无缝集成,原生功能使用Rust编写但可在Move中执行。 | |
49 | | -| **关键网络操作** | 网络操作的实现可能较为复杂且不够直接。 | 验证器集管理等关键操作原生实现于Move,支持直接执行。 | |
50 | | -| **函数调用** | 动态分发支持任意的智能合约调用。 | 静态分发机制更注重安全性和可预测行为。 | |
51 | | -| **类型安全** | 合约类型提供基础的类型安全性。 | Move的模块结构和泛型提供更强大的类型安全保障。 | |
52 | | -| **交易安全** | 使用nonce机制保证交易顺序和安全。 | 使用序列号(sequence numbers)保证交易顺序和安全。 | |
53 | | -| **认证存储** | 支持,通过智能合约存储实现。 | 支持,利用Move的资源模型实现。 | |
54 | | -| **对象可访问性** | 对象不具备全局可访问性,仅限于智能合约作用域内。 | 保证对象的全局可访问性。 | |
| 51 | +| **数据存储** | 数据存储于智能合约的存储空间。 | 数据分布于智能合约、用户账户和对象。 | |
| 52 | +| **并行化** | 由于存储空间共享,并行执行受限。 | 灵活的分离式存储设计带来更强的并行执行能力。 | |
| 53 | +| **虚拟机与语言集成** | EVM 与智能合约语言(如 Solidity)为分层结构。 | 虚拟机层与 Move 语言无缝集成,原生函数以 Rust 可执行文件形式在 Move 中实现。 | |
| 54 | +| **关键网络操作** | 网络操作实现复杂且不够直接。 | 关键操作如验证者集管理在 Move 中原生实现,可直接执行。 | |
| 55 | +| **函数调用** | 动态调度支持任意智能合约调用。 | 静态调度更注重安全性和可预测性。 | |
| 56 | +| **类型安全** | 合约类型提供一定的类型安全。 | Move 的模块结构体与泛型提供更强的类型安全。 | |
| 57 | +| **交易安全** | 通过 nonce 实现交易排序与安全。 | 通过序列号实现交易排序与安全。 | |
| 58 | +| **认证存储** | 支持,基于智能合约存储。 | 支持,基于 Move 的资源模型。 | |
| 59 | +| **对象可访问性** | 对象不具备全局可访问性,仅限于智能合约作用域。 | 对象保证全局可访问性。 | |
0 commit comments