解釋“bitcoin-cli getmempoolinfo”的結果
解釋“bitcoin-cli getmempoolinfo”的結果有點難題。
直接來自<https://chainquery.com/bitcoin-api/getmempoolinfo>:
getmempoolinfo Returns details on the active state of the TX memory pool. Result: { "size": xxxxx, (numeric) Current tx count "bytes": xxxxx, (numeric) Sum of all tx sizes "usage": xxxxx, (numeric) Total memory usage for the mempool "maxmempool": xxxxx, (numeric) Maximum memory usage for the mempool "mempoolminfee": xxxxx (numeric) Minimum fee for tx to be accepted }*
涼爽的!所以“size”返回記憶體池中的事務數!但數字不加起來。直接來自同一頁面:
"result": { "size": 9178, "bytes": 100859918, "usage": 216557216, "maxmempool": 300000000, "mempoolminfee": 0.00001070 }, "error": null, "id": null*
算一下,“字節”除以“大小”等於 10,989 字節/事務。我希望某個時候大約 400 字節/事務。因此,我的難題。
經過一番探勘,我相信我有一個解釋:記憶體池被“垃圾”事務堵塞。
比特幣核心的 minrelaytxfee 參數預設為 0.01 mBTC/KB,這“太低了”,因為它允許大量的“垃圾”交易進入記憶體池。我已經將 minrelaytxfee 提高到 0.05 mBTC/KB,到目前為止的結果非常令人鼓舞。記憶體池配置文件現在很有意義,從事務數量到每個事務的大小。
而 minrelaytxfee=0.00005 讓我覺得“公平”,因為它是廣泛推薦的 0.5 mBTC/KB 交易費用的十分之一(由各個網站上真實交易的帕累托細分作為備份)。
我鼓勵每個執行比特幣核心的人都可以為他們的完整節點自行決定 minrelaytxfee。
對於 2019 年閱讀本文的任何人來說,並非所有 txns 的大小都相同,這完全取決於輸入/輸出的數量和腳本,這就是為什麼將記憶體池大小相加並除以交易數量沒有意義。
以一家大型交易所的交易為例,數百個客戶退出,網站在一次交易中批量處理所有請求,使其規模非常大(參見https://www.blockchain.com/btc/tx/ b30679bf3c688ad8f8b674a25c33399be23234934a488c04b8666f9486c1e5f3它是 81486 字節,現在的正常 tx 大約是 150。