我对用于记录公证交易的NODE_NOTARY_COMMIT_LOG表有疑问。我的第一个(坏)假设是TRANSACTION_ID在这个表中是唯一的,但似乎不是这种情况 - 当我发现两个表条目具有相同的TRANSACTION_ID和CONSUMING_TRANSACTION_ID,但是CONSUMING_INPUT_INDEX增加了,而OUTPUT_INDEX也是不同(与消费输入指数相反)。有人可以向我解释这是如何工作的,以及如何确定表中的唯一性 - 提前谢谢:)
答案 0 :(得分:0)
NODE_NOTARY_COMMIT_LOG表实际上是对消费事务id的状态引用的映射。列对(TRANSACTION_ID,OUTPUT_INDEX)标识状态:它是发布状态的事务的id,以及状态在输出中的位置。
CONSUMING_TRANSACTION_ID和CONSUMING_INPUT_INDEX指定消耗状态的事务以及状态在输入中的位置。
请注意,自Corda 3.0起,不再记录CONSUMING_INPUT_INDEX。