Skip to content

谓词

从 Sway 的角度来看,谓词(predicates)是返回布尔值的程序,当执行结果为true时,它们代表对某些资源的所有权。它们无法访问合约存储。以下是一个简单的谓词示例,始终返回true

sway
predicate;

// 所有谓词都需要一个返回布尔值的 main 函数。
fn main() -> bool {
    true
}

调试谓词

由于谓词(predicates)没有副作用(它们是 纯函数 ),它们不会产生收据。因此,它们无法记录日志或创建堆栈回溯。这意味着除了使用单步调试器之外,没有原生的调试方法。

有一种变通办法,可以先将predicate作为script编写、测试和调试,然后将其转换回predicate