# 交易和状态

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

* 交易：交易代表 Aptos 区块链上账户之间的数据交换（例如 Aptos 币或 NFT）。
* 状态：状态（即当前区块链账本状态）代表区块链当前状态的快照。

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

## 交易

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

区块链上的[签名交易](https://aptos.dev/reference/glossary#transaction)包含以下信息：

* **签名**： 发件人使用数字签名来验证他们是否签署了交易（即身份验证）。
* **发送方地址**: 发送者的 [账户地址](https://aptos.dev/reference/glossary#account-address)。
* **发送方公钥**: 对应于用于签署交易的私有认证密钥的公共认证密钥。
* **程序**: 程序包括：
  * Move 模块和函数名称或 Move 字节码交易 script。
  * script 输入的可选列表。对于点对点交易，这些输入包含接收者的信息和转账给他们的金额。
  * 要发布的 Move 字节码模块的可选列表。&#x20;
* **Gas 价格** （以指定的货币/Gas 单位表示）：这是发送方愿意为执行交易而为每单位 Gas 支付的金额。 Gas 是一种支付计算和存储费用的方式。[Gas](/ji-chu/gas-he-jiao-yi-fei.md#using-gas-to-compute-transaction-fees) 单位是计算的抽象度量，没有内在的现实世界价值。
* **最大 gas 数量**: [最大 gas 量](https://aptos.dev/reference/glossary#maximum-gas-amount)是允许交易消耗的最大 gas 单位。
* **Gas 货币代码**: 用于支付 Gas 的货币代码。
* **序列号**: 是一个无符号整数，在执行时必须等于发送者的帐户序列号。
* **过期时间**: 交易停止有效（即过期）之后的时间戳。

## 账本状态

Aptos 区块链的账本状态（或全局[状态](https://aptos.dev/reference/glossary#state)）包括区块链中所有账户的状态。 区块链中的每个验证者节点都必须知道区块链分布式数据库（版本化数据库）最新版本的全局状态，才能执行任何交易。

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

### 版本化数据库[​](https://aptos.dev/basics/basics-txns-states#versioned-database) <a href="#versioned-database" id="versioned-database"></a>

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

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

* 针对最新版本的账本状态执行交易。
* 响应客户对当前和以前版本的分类帐历史的查询。

### 交易改变状态[​](https://aptos.dev/basics/basics-txns-states#transactions-change-state) <a href="#transactions-change-state" id="transactions-change-state"></a>

![FIGURE 1.0 TRANSACTIONS CHANGE STATE](/files/K8JRzrtDGHn72on3urBt)

图 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 显示这些更新后的余额。 |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.aptos.movemove.org/ji-chu/jiao-yi-he-zhuang-tai.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
