交易后置条件(Post Conditions)

后置条件是 Stacks 最有趣且独特的方面之一。

从一开始,安全性和保障性就处于 Stacks 精神的核心,并在构建时形成了架构决策的基础。

像 Clarity(Stacks 的智能合约编程语言)一样,后置条件是专门构建和设计来解决用户与区块链应用交互时的安全性问题的。

那么它们是什么以及它们如何工作?

后置条件如何工作

后置条件是在客户端设置的条件,用以确保智能合约不会执行任何意外行为。

让我们看一个示例来使其更具体。

假设用户在一个 NFT 市场并期望以 100 STX 购买一枚 NFT。使用后置条件,构建应用前端的开发者可以添加后置条件以确保当用户发起交易时确实会发生这种情况。

如果不是,交易将中止,用户不会损失任何东西,除了交易费用之外。

重要的是要注意,后置条件不在智能合约中。它们被设计为在智能合约之上的一层额外安全措施。

它们帮助解决的问题是用户与恶意智能合约交互,后者试图执行用户未预期的操作。

但这些后置条件并不仅仅是钱包的 UI 功能,它们被内置在 Stacks 区块链本身,并在协议层面上强制执行。

当你使用像 Hiro Web Wallet 这样的 Stacks 钱包并发起交易时,钱包会显示开发者设置的后置条件并准确告知用户将发生什么。如果智能合约采取的动作匹配,交易将正常进行,否则交易将中止。

它看起来是这样的:

在此示例中,如果智能合约没有转移一枚 fabulous-frog NFT 并从用户处收取 50 STX,交易将中止。

你可以在以下内容中了解有关后置条件如何工作的更多信息: SIP-005arrow-up-right 以及如何在你的应用中使用它们,请参阅 Hiro 出色的 后置条件教程arrow-up-right.

最后更新于

这有帮助吗?