【发布时间】:2018-12-20 08:23:39
【问题描述】:
最近,我开始学习 Corda,但对术语有些困惑。 我知道事务存储存储节点的所有事务,而 vault 是一个只存储相关事务的表。
但是存储在保险库中的相关交易是什么?什么样的交易不存储在保险库中,而存在于交易存储中?
还有,这些不同的存储机制在现实生活场景中是如何实现的?
【问题讨论】:
标签: database blockchain corda
最近,我开始学习 Corda,但对术语有些困惑。 我知道事务存储存储节点的所有事务,而 vault 是一个只存储相关事务的表。
但是存储在保险库中的相关交易是什么?什么样的交易不存储在保险库中,而存在于交易存储中?
还有,这些不同的存储机制在现实生活场景中是如何实现的?
【问题讨论】:
标签: database blockchain corda
保险库不存储交易。它存储节点记录的任何交易中的相关状态。
通常,如果节点是状态的participants 之一,则认为该状态是相关的。但是,有两个例外:
owner 时,才会存储扩展OwnableState 的状态
通过将ReceiveTransactionFlow 中的statesToRecord 标志设置为ALL_VISIBLE,节点可以选择记录事务中的每个状态,而不仅仅是相关状态,如下所示:
ReceiveTransactionFlow(
otherSideSession = otherSession,
checkSufficientSignatures = true,
statesToRecord = StatesToRecord.ALL_VISIBLE)
【讨论】: