在 Corda 节点中,下表何时以及如何适合图片
In a Corda Node when and how do the following tables fit into picture
NODE_TRANSACTION_MAPPINGS
table (TX_ID ,STATE_MACHINE_RUN_ID)
,
NODE_CHECKPOINTS
table (checkpoint Id, checkpoint Value)
和
NODE_TRANSACTIONS
table.
我想我的理解是首先将 Tx 信息添加到 node_transactions
table(不考虑 Tx 的有效性)然后将其添加到 node_transaction_mappings
然后我们更新检查站。 (当我们在每一步更新时,这些检查点是什么,要理解的枚举会有所帮助:)。
此外,我们什么时候输入 Tx 值 node_transactions
table?一旦我们 send/receive 来自 artemis 的消息,我们会更新任何 table 吗?
简而言之,我们在某处有事务生命周期吗?比如在什么步骤之后更新了什么?将使调试事务更容易。
当调用 ReceiveTransactionFlow
时, 每个 接收到的单独交易都会发生以下过程:
- 节点创建新的数据库交易
- 作为现有数据库事务的一部分,节点向
NODE_CHECKPOINTS
table 添加一个检查点
- 节点收到交易对方的Corda交易
- 作为现有数据库事务的一部分,节点更新
NODE_TRANSACTIONS
table
- 作为现有数据库事务的一部分,节点更新
NODE_TRANSACTION_MAPPINGS
table
- 节点提交数据库事务
NODE_TRANSACTION_MAPPINGS
table (TX_ID ,STATE_MACHINE_RUN_ID)
,
NODE_CHECKPOINTS
table (checkpoint Id, checkpoint Value)
和
NODE_TRANSACTIONS
table.
我想我的理解是首先将 Tx 信息添加到 node_transactions
table(不考虑 Tx 的有效性)然后将其添加到 node_transaction_mappings
然后我们更新检查站。 (当我们在每一步更新时,这些检查点是什么,要理解的枚举会有所帮助:)。
此外,我们什么时候输入 Tx 值 node_transactions
table?一旦我们 send/receive 来自 artemis 的消息,我们会更新任何 table 吗?
简而言之,我们在某处有事务生命周期吗?比如在什么步骤之后更新了什么?将使调试事务更容易。
当调用 ReceiveTransactionFlow
时, 每个 接收到的单独交易都会发生以下过程:
- 节点创建新的数据库交易
- 作为现有数据库事务的一部分,节点向
NODE_CHECKPOINTS
table 添加一个检查点
- 节点收到交易对方的Corda交易
- 作为现有数据库事务的一部分,节点更新
NODE_TRANSACTIONS
table - 作为现有数据库事务的一部分,节点更新
NODE_TRANSACTION_MAPPINGS
table - 节点提交数据库事务