跳转到内容

Introduction

本指南默认你已经会读 Solidity,也能理解 EVM 合约的基本行为。这里不重复讲区块链入门,而是把你已有的开发直觉重新映射到 Aptos。

  • 授权模型:从隐式的 msg.sender 检查,变成显式的 &signer 参数。
  • 存储模型:从合约拥有的 slot 和 mapping,变成全局存储中的 resource 与 object。
  • 代币模型:从“每个资产一份合约”的 ERC 模式,转向框架支持的 Fungible AssetDigital Asset
  • 前端交互:从 Ethers contract instance,转向 @aptos-labs/ts-sdk 加上 Wallet Adapter

Solidity 直接在合约里声明事件:

event MessageAdded(address sender, string message, uint256 addedAt);

Move 把事件当作带 #[event] 注解的 struct,并通过 event::emit 发出:

use 0x1::event;
use std::string::String;
#[event]
struct MessageAdded has drop, store {
sender: address,
message: String,
added_at: u64,
}
event::emit(MessageAdded {
sender,
message,
added_at: timestamp::now_seconds(),
});
  1. Accounts
  2. Data Storage Models
  3. Contract vs Container
  4. Ethers.js 与 Aptos TS SDK

如果你想先看短版,直接跳到 cheatsheet