2

因此,我通过使用 SetScript 事务将脚本附加到它来创建一个脚本帐户,但是一旦该帐户被脚本化,它如何检查外部交易?那些外部交易是如何触发它的?我是否在这些事务中传递了对脚本的引用?

4

1 回答 1

2

在将脚本附加到将使其成为智能帐户的帐户后,该脚本负责验证此智能帐户发送的每笔交易。因此,当此帐户发送交易时,会触发验证。

为了设置一个智能账户,该账户需要发出包含谓词的SetScriptTransaction 。成功后,每笔传出交易都不会通过签名验证的默认机制进行验证,而是根据谓词逻辑进行验证。如果安装的脚本允许处理新的SetScriptTransaction ,则可以更改或清除帐户脚本。默认账户没有脚本,相当于这个脚本:

SigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPk)

SetScriptTransaction设置验证所有传出事务的脚本。设置脚本可以被另一个SetScriptTransaction调用更改,除非它被之前的设置脚本禁止。

于 2019-02-27T08:47:07.400 回答