Debug.log: как проанализировать потерянную транзакцию?

В файле debug.log для моей машины во время синхронизации отображается следующая информация.

ERROR: FetchInputs() : 5b5e32cc97 mempool Tx prev not found e99babf87a
stored orphan tx 5b5e32cc97 (mapsz 414)
received: tx (227 bytes)
ERROR: FetchInputs() : 93ce7eee97 mempool Tx prev not found 8d56e0b192
stored orphan tx 93ce7eee97 (mapsz 415)
received: tx (259 bytes)
ERROR: FetchInputs() : 7baab3c99a mempool Tx prev not found 2ca8483584
stored orphan tx 7baab3c99a (mapsz 416)
sending: addr (181 bytes)
Flushing wallet.dat
Flushed 12367 addresses to peers.dat  62ms
Flushed wallet.dat 5335ms
  • Правильно ли говорить, что осиротевшие транзакции были добавлены в цепочку, но заменены другим блоком?

  • Реплицируются ли потерянные транзакции на мой клиент, когда я загружаю цепочку?

  • Как я могу узнать, попал ли осиротевший tx в блок? (# останется прежним?)

  • Что такое mapszи когда это важно?

Ответы (1)

Бесхозная транзакция — это транзакция, которая потребляет монету, транзакция создания которой неизвестна вашему клиенту. Это не имеет ничего общего с блоками-сиротами (блоками, родительский блок которых неизвестен, или, согласно другому определению, блоками, которые больше не являются частью лучшей цепочки).

Транзакции-сироты не являются частью блока (они не могут быть проверены до тех пор, пока не станут известны их родители, а в блоках допускаются только действительные транзакции) и хранятся в памяти клиента. Когда их родители становятся известными и они признаются действительными, они перемещаются в пул памяти (который, как следует из названия, также хранится только в памяти). Оттуда они считаются включенными в новые блоки (если вы занимаетесь майнингом).

Этот фрагмент файла debug.log сообщает вам, что получены 3 транзакции (отдельные транзакции, а не часть блока), которые ссылаются на некоторые неизвестные входные данные. Из-за этого они хранятся в сиротском пуле, который в результате этого увеличивается. «mapsz» означает «размер карты» (поскольку сироты хранятся на карте) — число — это просто количество запомненных сирот.