В узле Corda, когда и как в таблицу вписываются следующие таблицы - PullRequest
0 голосов
/ 03 июля 2018

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? обновлять ли мы какую-либо таблицу после отправки / получения сообщения от Артемиды?.

Короче говоря, у нас есть где-нибудь жизненный цикл транзакции? как после какого шага что обновляется? Упростит отладку транзакции.

1 Ответ

0 голосов
/ 04 июля 2018

Когда вызывается ReceiveTransactionFlow, для каждой полученной отдельной транзакции происходит следующий процесс:

  • Узел создает новую транзакцию БД
  • Как часть существующей транзакции БД, узел добавляет контрольную точку в таблицу NODE_CHECKPOINTS
  • Узел получает транзакцию Corda от контрагента
  • Как часть существующей транзакции БД, узел обновляет таблицу NODE_TRANSACTIONS
  • Как часть существующей транзакции БД, узел обновляет таблицу NODE_TRANSACTION_MAPPINGS
  • Узел фиксирует транзакцию БД
...