正式认证的协议放慢了速度?

时间:2019-04-17 17:36:01

标签: pact-lang

我打算在我的智能合约中实现这段代码:

(defun absBug:integer (num:integer)
 ;; This property fails
 @model [(property (>= result 0))]
 (if (= (- (* (- num 6) (+ num 11)) (* 42 num)) (* (* 64 7) 52270780833))
     (- 1)
     (abs num)
 )

我想知道自从我实施正式验证以来,一旦将此合同部署到任何链上,会不会有任何延迟或速度变慢?还是一次完成计算并存储下去?

(我知道我的代码会给出正确的答案,事后我必须对此进行调整)

1 个答案:

答案 0 :(得分:1)

不,它不会影响延迟或链上的任何其他性能。

正式验证的目的是证明合同是无错误且可部署的,因此它是在部署之前而不是在链上运行的。

仅供参考,当您在Electron docs上进行开发时,默认情况下它将运行形式验证。但是,如果您是在计算机上本地开发合同,则需要运行(验证'contract-name)来进行正式验证,这是所有计算都进行的时间。