在 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
  • 节点提交数据库事务