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
  • 交易
  • 账本状态
  • 版本化数据库​
  • 交易改变状态​
  1. 基础

交易和状态

Previous全节点Next交易

Last updated 3 years ago

Aptos 区块链核心的两个基本概念是交易和状态:

  • 交易:交易代表 Aptos 区块链上账户之间的数据交换(例如 Aptos 币或 NFT)。

  • 状态:状态(即当前区块链账本状态)代表区块链当前状态的快照。

执行交易时,Aptos 区块链的状态会发生变化。

交易

当 Aptos 区块链客户端提交交易时,他们请求使用他们的交易更新账本状态。

区块链上的包含以下信息:

  • 签名: 发件人使用数字签名来验证他们是否签署了交易(即身份验证)。

  • 发送方地址: 发送者的 。

  • 发送方公钥: 对应于用于签署交易的私有认证密钥的公共认证密钥。

  • 程序: 程序包括:

    • Move 模块和函数名称或 Move 字节码交易 script。

    • script 输入的可选列表。对于点对点交易,这些输入包含接收者的信息和转账给他们的金额。

    • 要发布的 Move 字节码模块的可选列表。

  • Gas 价格 (以指定的货币/Gas 单位表示):这是发送方愿意为执行交易而为每单位 Gas 支付的金额。 Gas 是一种支付计算和存储费用的方式。 单位是计算的抽象度量,没有内在的现实世界价值。

  • 最大 gas 数量: 是允许交易消耗的最大 gas 单位。

  • Gas 货币代码: 用于支付 Gas 的货币代码。

  • 序列号: 是一个无符号整数,在执行时必须等于发送者的帐户序列号。

  • 过期时间: 交易停止有效(即过期)之后的时间戳。

账本状态

Aptos 区块链中的所有数据都保存在单一版本的分布式数据库中。 版本号是一个无符号的 64 位整数,对应于系统已执行的事务数。

Aptos 区块链中的所有数据都保存在单一版本的分布式数据库中。 版本号是一个无符号的 64 位整数,对应于系统已执行的事务数。

这个版本化的数据库允许验证节点:

  • 针对最新版本的账本状态执行交易。

  • 响应客户对当前和以前版本的分类帐历史的查询。

图 1.0 表示执行交易 TN 如何将 Aptos 区块链的状态从 SN-1 更改为 SN。

图中:

名称
描述

账户 A 和 B

在 Aptos 区块链上代表 Alice 和 Bob 的账户

SN-1

表示区块链的第 (N-1) 个状态。 在这种状态下,Alice 的账户 A 的余额为 110 Aptos Coins,Bob 的账户 B 的余额为 52 Aptos Coins。

TN

这是在区块链上执行的第 N 个交易。 在本例中,它代表 Alice 向 Bob 发送 10 个 Aptos 币。

F

它是一个确定性函数。 F 总是为特定的初始状态和特定的交易返回相同的最终状态。 如果区块链的当前状态是 SN-1,交易 TN 是在状态 SN-1 上执行的,那么区块链的新状态总是 SN。 Aptos Blockchain 使用 Move 语言来实现确定性执行功能 F。

SN

这是区块链的第 N 个状态。 当交易 TN 应用于区块链时,它会生成新的状态 SN(将 F 应用于 SN-1 和 TN 的结果)。 这导致 Alice 的账户余额减少 10 到 100 Aptos Coins,Bob 的账户余额增加 10 到 62 Aptos Coins。 新状态 SN 显示这些更新后的余额。

Aptos 区块链的账本状态(或全局)包括区块链中所有账户的状态。 区块链中的每个验证者节点都必须知道区块链分布式数据库(版本化数据库)最新版本的全局状态,才能执行任何交易。

版本化数据库

交易改变状态

📌
状态
​
​
签名交易
账户地址
最大 gas 量
FIGURE 1.0 TRANSACTIONS CHANGE STATE
Gas