Bitcoin-Core
為什麼某些比特幣命令相對較慢?
例如,
bitcoin-cli getbalance <address>
在任意的、僅限監視的地址上執行大約需要 6-7 秒才能得到響應。有什麼辦法可以提高響應時間嗎?像Blockchain.info這樣的 API 服務如何幾乎立即返回餘額詳細資訊?對 Blockchain.info 的每個 API 呼叫都需要不到半秒的時間來請求餘額。有沒有辦法讓我用比特幣做到這一點?
例如,
bitcoin-cli getbalance <address>
在任意的、僅限監視的地址上執行大約需要 6-7 秒才能得到響應。有什麼辦法可以改善這一點嗎?除了這不是
getbalance
工作方式(您不會在地址上呼叫它)這一事實之外,getbalance
這裡的速度很慢,因為它必須遍歷錢包中地址的交易列表並將它們的輸出相加以獲得餘額。如果你的錢包很大並且有很多交易,或者你在低功率硬體上執行 bitcoind,這可能需要很長時間。像區塊鏈這樣的 API 服務如何幾乎立即返回餘額詳細資訊?對區塊鏈的每個 API 呼叫都需要不到半秒的時間來完成餘額請求。我有辦法做到這一點嗎?
這些 API 服務有幾個大型伺服器託管他們的數據庫。他們的數據庫非常龐大,可以索引區塊鏈中的所有內容。它們儲存資訊,例如每個地址的餘額(技術上不在區塊鏈中),因此當您請求資訊時,它會很快從數據庫中提取出來。比特幣核心不這樣做,因為這樣的數據庫浪費空間,大多數使用者不會受到較慢功能的影響。