Corda-参考状态和“当前性”

时间:2019-07-30 08:55:03

标签: corda

R3 documentation for Reference States指出:

  

参考输入状态是ContractState,可以在以下位置引用   通过输入和输出状态的合同进行的交易,但其   合同不作为交易验证的一部分执行   事务,并且在事务提交到   分类帐,但检查其“当前性”。换句话说,合约   逻辑不只针对引用事务运行。仍然是   发生在输入或输出位置的正常状态。

关于检查“当前状态”是否意味着您只能引用未使用/未使用的状态,或者还可以引用已使用/已使用的状态?

1 个答案:

答案 0 :(得分:1)

将包含references列表中的状态的事务发送给公证人时,公证人将检查StateRef列表中的那些状态(references s是否已用完。如果已经用完(即不是最新的),那么公证人将不会签名。如果还没有用完(StateRef还没有用完),那么它们是最新的,公证人将签署交易,并假设所有输入(如果存在)都是最新的,并且交易在以下范围内经过公证提供的时间窗口。

您不能在references列表中包含已知已经花费的状态。这里的假设是数据将是陈旧的,因此不能依靠。

状态指针功能假定您将不引用已知为过时的数据。如果确实需要故意引用旧状态,则将StateRef直接嵌入到您的状态中。您将必须手动确保所有需要StateRef的参与者都拥有它。