Wallet

listaddressgroupings 和 getnewaddress 中的地址

  • January 21, 2019

我不明白和之間的listaddressgroupings區別getnewaddress

例如,我有一個 0 Block 的本地區塊鏈 (regtest)。我創建了 101 塊(generate 101)我可以看到listaddressgroupings這個輸出

[
 [
   [
     "mvAH7VsxifvQdEZ46Rdt2oN3nB5BzaPqS8",
     50.00000000
   ]
 ]
]

它是什麼地址?如果轉儲私鑰dumpprivkey mvAH7VsxifvQdEZ46Rdt2oN3nB5BzaPqS8

我有這個結果MVA_PRIVATEKEY

好的,如果我dumpwallet test.txt在與該地址相關聯的密鑰中搜尋此私鑰

MVA_PRIVATEKEY 2019-01-19T10:26:19Z change=1 # addr=2NAoHv7kDBhHND7YHcQKuDS8wCbEz87xLrv hdkeypath=m/0'/0'/0'

為什麼不是mvAH7VsxifvQdEZ46Rdt2oN3nB5BzaPqS8

現在我想創建一個新地址 getnewaddress => 2NCGuG2v4RbaAKsZp1RQJ2ZpDM6WtW79Mu3

為什麼這個地址以 2 而不是 m 或 n 開頭?它的pk不同於mvAH7VsxifvQdEZ46Rdt2oN3nB5BzaPqS8

如果我創建另一個 101 塊,我有一個新地址listaddressgroupings

每當我創建一個新區塊時,我都有一個新地址listaddressgroupings

我不明白和之間的listaddressgroupings區別getnewaddress

listaddressgroupings與 有很大不同getnewaddresslistaddressgroupings僅顯示您錢包中已使用的地址。getnewaddress給你一個新地址,讓你接收比特幣。

它是什麼地址?

該地址是您錢包中的地址。您看到它列出的原因listaddressgroupings是因為您使用了generate. generate探勘塊並將塊獎勵發送到新生成的地址。因此,使用後generate,您會在錢包中看到一個新地址,其中包含從剛剛開采的區塊中收到的比特幣。

listaddressgroupings不是每次打電話給你一個新地址。如果您只是呼叫它而不探勘任何塊並且不使用getnewaddress,那麼您將在那裡看到相同的地址。不會創建新地址。

為什麼這個地址以 2 而不是 m 或 n 開頭?

使用的地址是以或generate開頭的 P2PKH 地址。但是,預設情況下,錢包會為您提供以 . 開頭的 P2SH 隔離見證地址。這可以通過設置選項來更改將為您提供的地址類型。這種差異主要是由於遺留原因;沒有理由不能使用 P2SH segwit 地址(或您設置的任何地址),但沒有人願意更改它。m``n``2``-addresstype``getnewaddress``generate``addresstype

(請注意,generate實際上並不使用 P2PKH 輸出。而是使用沒有地址類型的 P2PK 輸出。為方便起見,這顯示為 P2PKH 地址)

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