getaddressesbyaccount、getbalance
比特幣參考客戶端維護了一個地址池,地址池的大小可以用 getinfo 命令keypoolsize 參數獲取。這些地址是自動生成的,可以被用作公開接收地址或零錢地址。使用 getnewaddress 命令可以獲得其中的一個地址:
$ bitcoin-cli getnewaddress 1hvzSofGwT8cjb8JU7nBsCSfEVQX5u9CL
現在我們可以使用這個地址從一個外部錢包(假設你在其他交易所、在線錢包或其他 bitcoind 錢包有一些比特幣)向我們的 bitcoind 錢包發送一小筆比特幣。在本例中,我們將向下面的地址中發送 50mBTC(0.050 比特幣)。
我們可以詢問 bitcoind 客戶端此地址已經接收到的比特幣數額,以及指定該數額要被加到余額中所需要的確認數。在本例中,我們指定只需要 0 個確認。在從另一個錢包發送比特幣數秒之后,我們將在這個錢包看到反應。我們用getreceivedbyaddress 命令、這個地址及設置確認數為 0:
$ bitcoin-cli getreceivedbyaddress 1hvzSofGwT8cjb8JU7nBsCSfEVQX5u9CL 0
0.05000000
如果我們忽略這個命令后面的 0,我們將只能在至少 minconf 個確認之后才能看到數額,minconf 是想要某筆交易出現在余額中所設置的最少確認數。
minconf 設置在 bitcoind 配置文件指定。由于這筆發送比特幣的交易僅在數秒之前完成,它還沒有被確認,因而我們將看到余額是 0:
$ bitcoin-cli getreceivedbyaddress 1hvzSofGwT8cjb8JU7nBsCSfEVQX5u9CL 0.00000000
整個錢包接收到的交易可以通過使用 listtransactions 命令展示出來:
$ bitcoin-cli listtransactions [
{
"account" : "", "address":"1hvzSofGwT8cjb8JU7nBsCSfEVQX5u9CL", "category" : "receive",
"amount" : 0.05000000,
"/confirm/iations" : 0, "txid" :
"9ca8f969bd3ef5ec2a8685660fdbf7a8bd365524c2e1fc66c309ac bae2c14ae3",
"time" : 1392660908,
"timereceived" : 1392660908
}
]
我們可以使用 getaddressesbyaccount 命令列出整個錢包的所有地址:
$ bitcoin-cli getaddressesbyaccount "" [
"1LQoTPYy1TyERbNV4zZbhEmgyfAipC6eqL", "17vrg8uwMQUibkvS2ECRX4zpcVJ78iFaZS",
"1FvRHWhHBBZA8cGRRsGiAeqEzUmjJkJQWR",
"1NVJK3JsL41BF1KyxrUyJW5XHjunjfp2jz", "14MZqqzCxjc99M5ipsQSRfieT7qPZcM7Df", "1BhrGvtKFjTAhGdPGbrEwP3xvFjkJBuFCa", "15nem8CX91XtQE8B1Hdv97jE8X44H3DQMT",
"1Q3q6taTsUiv3mMemEuQQJ9sGLEGaSjo81", "1HoSiTg8sb16oE6SrmazQEwcGEv8obv9ns", "13fE8BGhBvnoy68yZKuWJ2hheYKovSDjqM", "1hvzSofGwT8cjb8JU7nBsCSfEVQX5u9CL", "1KHUmVfCJteJ21LmRXHSpPoe23rXKifAb2", "1LqJZz1D9yHxG4cLkdujnqG5jNNGmPeAMD"
]
最后,getbalance 命令將顯示所有經過至少 minconf 個確認的交易加和后的余額:
$ bitcoin-cli getbalance 0.05000000
如果交易還未被確認,getbalance 返回的余額將為 0。配置項“minconf”決定了交易在余額中體現的最少確認數。








