后置条件

circle-info

构建者资源

  • 有关对后置条件用法的深入探讨, 此处.

  • 有关 SIP-005 中概述的后置条件技术规范, 此处arrow-up-right.

全貌

  • 后置条件是约束 你附加到交易上的 它们精确定义允许移动的资产(STX、SIP-010 代币、NFT)及其数量。

  • 如果底层智能合约的执行会违反你声明的限制,整个交易将中止。

  • 即使智能合约包含意外逻辑,也无法移动超出你后置条件允许范围的资产。

  • 后置条件通常由客户端开发者在客户端构建。它们是已签名交易的一部分。合约无法修改它们。

  • 钱包会解析已签名的交易并在广播前向用户显示声明的后置条件。


什么是后置条件?

后置条件是必须满足的关于链上交易的断言;否则,交易将在执行期间中止。换句话说,后置条件充当安全网,允许你指定交易中可以发生的状态更改。

有时,客户端开发者并不是编写底层智能合约的同一人,可能不太熟悉其内部逻辑、嵌套的外部合约调用或边缘情况。 该逻辑有助于限制对用户及其资产可能造成的损害,无论是由于漏洞还是恶意行为。

简单来说,后置条件是一组在用户交易执行前必须满足的条件。后置条件的主要目标是限制由于漏洞、恶意或其他原因对用户资产造成的损害程度。

后置条件是内置于 Stacks 协议本身的额外安全功能,旨在帮助保护最终用户。它们不是 Clarity 智能合约的功能,而是在客户端实现,作为对恶意合约的额外安全保障。

它们作为交易的一部分随用户发起时发送,这意味着我们需要在前端实现后置条件。每当你将资产(可替代或不可替代)从一个地址转移到另一个地址时,都应利用后置条件。


后置条件充当安全网,允许你指定在交易执行期间可以且应当发生的状态更改。

最后更新于

这有帮助吗?