Transactions
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 是否曾經將它變成一個塊?(# 會保持不變嗎?)
- 什麼是a
mapsz
,什麼時候重要?
孤兒交易是消耗硬幣的交易,其創建交易不為您的客戶所知。這與孤立塊(其父塊未知的塊,或根據另一種定義,不再是最佳鏈的一部分的塊)無關。
孤兒交易不是區塊的一部分(在知道其父節點之前無法驗證它們,並且區塊中只允許有效交易),並保存在客戶端的記憶體中。當他們的父母被知道並且他們被發現有效時,他們被移動到記憶體池(顧名思義,它也只保存在記憶體中)。從那裡開始,它們被認為包含在新塊中(如果您正在探勘)。
這段 debug.log 告訴您收到了 3 個事務(單獨的事務,不是塊的一部分),它們引用了一些未知的輸入。因此,它們儲存在孤兒池中,孤兒池因此而增長。“mapsz”代表“地圖大小”(因為孤兒儲存在地圖中) - 該數字只是記住的孤兒的數量。