Aptos Wiki
MoveMove 社区Aptos 链接合集Sui WikiStarcoin Wiki
  • 🎉欢迎
  • 💡概览
    • 起源
    • 愿景
    • 主网路线图
    • 激励测试网(1)
    • 技术路线图
    • 激励测试网(2)
    • 激励测试网(3)
    • 激励测试网(4)
  • 📌基础
    • 账户(Account)
    • 事件(Events)
    • 证明(Proof)
    • Gas 和交易费
    • 节点网络和同步
    • 验证者节点
    • 全节点
    • 交易和状态
  • 🔄交易
    • 与 Aptos 区块链交互
  • 📓教程
    • Petra 钱包插件安装使用
    • 教程指引
    • 您的第一笔交易
    • 您的第一个 Move 模块
    • 您的第一个 NFT
    • 运行本地网络
    • 开发网 Devnet
      • 运行全节点(官方教程)
      • 运行全节点(社区教程)
        • Windows
        • Linux
    • 测试网 Testnet
      • 社区教程
        • AIT-3 新功能
        • 节点要求
        • AIT-3 步骤
        • 使用 Docker
        • 全节点搭建
        • 加入测试网
        • 离开激励测试网
  • 🖊️博客
    • Block-STM:我们如何在 Aptos 区块链上每秒执行超过 16 万笔交易
  • 🗻生态
    • Aptos 宣布资助计划!
    • Aptos 生态项目汇总
      • 聚合器
        • Hippo Labs
      • Defi
        • 🟢Pontem Network
        • 🟢Vial Protocol
        • 1KX Protocol
        • Seam Money
        • Aries Markets
        • Empo Finance
        • Ultima protocol
        • Econia
        • Zaptos Finance
        • Laminar Market
        • Thala Labs
        • AptoSwap
        • Aptoslend
        • ASwap
      • 基础设施
        • 🟢Aptos 域名服务
        • Nutrios
        • Dialect
        • Switchboard
      • NFT
        • 🟢Topaz NFT Marketplace
        • TokenMasksLabs
        • Clone Protocol
        • Aptos Ape Society
      • 钱包
        • 🟢Fewcha Wallet
        • 🟢Martian Wallet
        • Volt.id wallet
        • ONTO Wallet
        • Hive Wallet
        • Blocto
      • 工具
        • ChainIDE
        • Paymagic
        • Aptosphere
        • Saber Labs
  • ❓问题(FAQ)
    • 常见问题
    • 如何分享自己的节点
    • 如何运行多个节点
    • 如何修改节点配置文件
Powered by GitBook
On this page
  • 发送和接收 TestCoin​
  • 创建新账户​
  • 发布新的 Move 模块​
  1. 交易

与 Aptos 区块链交互

Previous交易Next教程

Last updated 3 years ago

Aptos 区块链使用 虚拟机 (VM) 来执行操作。虽然许多区块链实现了一组原生操作,但 Aptos 将所有操作委托给 Move,包括:账户创建、资金转账和发布 Move 模块。为了支持这些操作,构建在 Move 之上的区块链必须提供一个框架(类似于计算机的操作系统或最小的可行功能集)来与区块链交互。在本节中,我们将讨论这些通过 Aptos 框架的 script 函数来发布。

本指南(与 一起)将解锁在 Aptos 区块链之上开始构建丰富应用程序所需的最少信息量。注意:Aptos 框架正在大力开发中,本文档可能不是最新的。最新的框架可以在中找到。

Aptos Framework 内提供给用户的核心功能包括:

  • 发送和接收 TestCoin

  • 创建新帐户

  • 发布新的 Move 模块

注意:本文档假设读者已经熟悉提交交易,如中所述。

发送和接收 TestCoin

提交和执行交易时需要 TestCoin 来支付gas费用。 TestCoin 可以通过查询 Devnet Faucet 获得。 有关示例,请参阅您的第一次交易教程。

执行转账的 payload 是:

{
  "type": "script_function_payload",
  "function": "0x1::TestCoin::transfer",
  "type_arguments": [],
  "arguments": [
    "0x737b36c96926043794ed3a0b3eaaceaf",
    "1000",
  ]
}

这指示 VM 执行脚本 script 0x1::TestCoin::transfer。第一个参数是发送方地址, 0x737b36c96926043794ed3a0b3eaaceaf, 第二个是要转账的金额,1000。发送方地址是调用此 script 发送交易的账户地址。

创建新帐户的 payload 是:

{
  "type": "script_function_payload",
  "function": "0x1::AptosAccount::create_account",
  "type_arguments": [],
  "arguments": [
    "0x0c7e09cd9185a27104fa218a0b26ea88",
    "0xaacf87ae9d8a5e523c7f1107c668cb28dec005933c4a3bf0465ffd8a9800a2d900",
  ]
}

这指示 Move 虚拟机执行 script 0x1::AptosAccount::create_account。第一个参数是要创建的帐户的地址,第二个参数是身份验证密钥原像(在 Accounts 中提到)。对于单一签名者身份验证,这是与 0 字节(或 pubkey_A | 0x00)连接的公钥。 这是防止帐户地址抢占所必需的。 该指令的执行验证验证密钥的最后 16 字节是否与 16 字节的帐户地址相同。 我们正在积极努力改进此 API,以支持接收 32 字节的帐户地址,从而消除对抢占或帐户操纵的担忧。

发布新模块的 payload:

"type": "module_bundle_payload",
"modules": [
    {"bytecode": "0x..."},
],

这指示 VM 在发送者的帐户下发布模块字节码。 如需完整教程,请参阅您的第一个移动模块。

需要注意的是,Move 字节码必须指定与发送者账户相同的地址,否则交易将被拒绝。例如,假设账户地址为 0xe110,Move 模块需要更新如 module 0xe110::Message, module 0xbar::Message 将被拒绝。 或者,可以使用别名地址,例如模块 module HelloBlockchain::Message ,但 HelloBlockchain 别名需要在 Move.toml 文件中更新为 0xe110。 我们正在与 Move 团队合作,并计划将编译器合并到我们的 REST 接口中以缓解此问题。

创建新账户

发布新的 Move 模块

🔄
Move
Move 模块教程
源代码
您的第一个交易教程
​
​
​