waitForLedgerCommit
приостанавливает поток до тех пор, пока транзакция с указанным идентификатором не будет принята, успешно проверена и отправлена в хранилище для обработки.
FinalityFlow
проверяет данную транзакцию, а затем отправляет ее указанному нотариусу.Если нотариус соглашается с тем, что транзакция является приемлемой, то с этого момента она передается в бухгалтерскую книгу и будет записана в хранилище.
Если вы посмотрите на код в FinalityFlow
, вы увидите, что он вызывает функцию notariseAndRecord()
, которая в свою очередь вызывает serviceHub.recordTransactions()
.Именно здесь мы записываем подтвержденную транзакцию в наше хранилище.
Если FinalityFlow
успешно завершается, мы гарантируем, что транзакция была проверена и отправлена в хранилище для обработки, поэтому мы не требуемwaitForLedgerCommit
.