在Corda节点中,何时以及如何将以下表格放入图中

时间:2018-07-03 18:31:20

标签: corda

NODE_TRANSACTION_MAPPINGS(TX_ID ,STATE_MACHINE_RUN_ID)NODE_CHECKPOINTS(checkpoint Id, checkpoint Value)NODE_TRANSACTIONS表。

我想我的理解是,首先将Tx信息添加到node_transactions表中(与Tx的有效性无关),然后将其添加到node_transaction_mappings中,然后我们更新检查点。 (当我们在每一步更新此检查点时,这些检查点是什么,需要理解的枚举会有所帮助:)。

而且,我们什么时候将Tx值node_transactions放在表中?发送/接收来自artemis的消息后,我们是否会更新任何表格?

简而言之,我们在某个地方有交易生命周期吗?就像在什么步骤之后更新了什么?将使调试交易更加容易。

1 个答案:

答案 0 :(得分:1)

调用ReceiveTransactionFlow时,个单独的交易都会发生以下过​​程:

  • 节点创建一个新的数据库事务
  • 作为现有数据库事务的一部分,该节点向NODE_CHECKPOINTS表添加一个检查点
  • 节点从交易对手处接收Corda交易
  • 作为现有数据库事务的一部分,节点更新NODE_TRANSACTIONS
  • 作为现有数据库事务的一部分,节点更新NODE_TRANSACTION_MAPPINGS
  • 节点提交数据库事务