Bitcoin-Cli

為什麼 listreceivedbyaddress 的描述會誤 導並與其名稱相矛盾?

  • August 30, 2021

來自bitcoin-cli --testnet help listreceivedbyaddress

listreceivedbyaddress ( minconf include_empty include_watchonly “address_filter” )

按收貨地址列出餘額。

問題是它listreceivedbyaddress沒有這樣做,儘管它實際上做了它的名字所暗示的那樣。

我們來看看這個地址

listreceivedbyaddress顯示與Total received而不是Balance對應的內容。bitcoin-cli --testnet importaddress tb1qf9p5mrl2mf4ulae257ewj2rns6hsu2y4p8j0q2可以通過將地址導入錢包來輕鬆驗證它。我錯過了什麼還是一個錯誤?

令人困惑的原因是,與區塊瀏覽器顯示資訊的方式相反,比特幣(以及擴展的比特幣核心錢包)並不是為地址設計來保持個人餘額的。

這更像是一個哲學點,而不是技術點。地址是錢包的**入口點。**它們是為個人付款提供的標識符,通過觀察它們收到了多少,您可以跟踪哪些付款已完成。但是,一旦收到,硬幣將由接收錢包管理,與在同一錢包的其他地址收到的硬幣一起匯集。例如,錢包在建構支付時,會考慮所有地址上收到的所有硬幣,甚至將剩餘部分轉移到新的找零地址。

同樣,“地址餘額”的概念在技術上並沒有錯——人們可能會認為硬幣屬於一個地址,直到這些硬幣被花掉。但這不是比特幣核心錢包(和其他幾個錢包)中使用的理念。

所以listreceivedbyaddressRPC 所做的是顯示每個地址收到的總和;正是您需要確定哪些賬單/發票/項目已支付。要確定您的錢包中有多少剩餘getbalance餘額,請使用和相關的 RPC,它們顯示整個錢包的餘額,將所有地址上收到的硬幣考慮在內,並排除任何已經花費的硬幣 - 鏈上或待處理。

鑑於區塊瀏覽器普及的現代“地址平衡”概念,我同意 RPC 幫助中的解釋是混亂的,並且可以改進。

引用自:https://bitcoin.stackexchange.com/questions/108362