交易如何工作

介绍

交易是 Stacks 区块链中执行的基本单元。每笔交易都由一个 Stacks 账户发起,并永久保留在 Stacks 区块链历史中。本指南帮助您了解 Stacks 交易。

生命周期

在最终确认并对所有人可用之前,交易在 Stacks 2.0 网络上会经历多个阶段。

1

生成

交易根据编码规范进行组装。

2

验证并签名

对交易进行验证以确认其格式正确。所需的签名将被填写。

3

广播

交易被发送到节点。

4

登记

矿工接收交易,进行验证,并将其添加到 “mempool,”arrow-up-right 所有待处理交易的暂存区。

5

处理

矿工审查 mempool 并选择要包含在下一个将被挖出的区块中的交易。根据交易类型,在此步骤中可能发生不同的操作。例如,对于代币转移可以验证后置条件,智能合约定义的代币可以被铸造,或者可能尝试调用现有智能合约的方法。

6

确认

矿工成功提议包含一组交易的区块。当堆栈者(stackers)批准时,区块内的交易会成功传播到网络中。

circle-info

交易在被登记后可以处于三种状态之一: 待处理, 成功,或者 失败.

类型

Stacks 支持一组不同的交易类型:

类型

描述

任期变更

TenureChange

任期变更是指在现有 Stacks 区块链中,当一个矿工从另一个矿工手中接管创建新 Stacks 区块的责任时发生的事件。任期变更发生在通过密码学抽签(cryptographic sortition)发现 Stacks 区块时。由堆栈者(stackers)执行。

发现任期变更区块

TenureChange-BlockFound

A TenureChange-BlockFound 交易由获胜的抽签引发。这导致新的矿工开始生成区块,并停止当前矿工继续生成区块。

任期变更延续

TenureChange-Extend

A TenureChange-Extend,由堆栈者引发,重置当前任期的正在进行的执行预算,从而允许矿工继续生成区块。

代币转移

token_transfer

从发送者到接收者的资产转移

合约部署

smart_contract

合约实例化

合约调用

contract_call

对公共的、非只读函数的合约调用

每种交易类型的示例可以在以下位置找到: Stacks 区块链 API 的交易响应定义arrow-up-right.

circle-info

只读合约调用不需要 不是 交易。有关更多信息,请参阅网络指南。

最后更新于

这有帮助吗?