谓词
从 Sway 的角度来看,谓词(predicates)是返回布尔值的程序,当执行结果为true
时,它们代表对某些资源的所有权。它们无法访问合约存储。以下是一个简单的谓词示例,始终返回true
:
sway
predicate;
// 所有谓词都需要一个返回布尔值的 main 函数。
fn main() -> bool {
true
}
调试谓词
由于谓词(predicates)没有副作用(它们是 纯函数 ),它们不会产生收据。因此,它们无法记录日志或创建堆栈回溯。这意味着除了使用单步调试器之外,没有原生的调试方法。
有一种变通办法,可以先将predicate
作为script
编写、测试和调试,然后将其转换回predicate
。