Litecoin

從 Trezor 導出 LTC Segwit (M-Address) 私鑰

  • April 3, 2019

所以我正在努力解決這個問題!

  1. 我有我的 Trezor 的 24 號种子。
  2. 我獲得了 LTC 的 Segwit 帳戶(地址以 M 開頭)。
  3. 我的地址也有對應的 P2H(以 3 開頭)。

如何使用 BIP39 導出?我試過了,最後我得到了以 L. 開頭的地址。(舊版)。

m/49’/2’/0’/0 –> 這個是給 M Segwit LTC

m/44’/2’/0’/0 —> 這個是給 Legacy LTC

當您派生地址時,您實際上是在派生從中派生地址的私鑰或公鑰。然而地址實際上是在輸出中使用什麼類型的腳本的編碼,但是私鑰沒有腳本是什麼的概念。因此,當您派生密鑰時,它們不會指定要創建的地址類型。每個私鑰實際上可以對應多個地址。

要指定創建哪種地址,您的錢包軟體必須能夠理解派生路徑的含義或能夠被告知要創建哪種地址。僅使用用於派生一種地址的密鑰的派生路徑並不意味著所有軟體都將創建相同的地址。

您將需要使用知道如何創建所需地址類型的軟體,然後您需要能夠告訴它這樣做。

@AndrewChow♦ 很好地解釋了它。

查看密鑰和地址之間關係的另一種方法是直接使用 litecoind,如果你有一個方便的話。

$ litecoin-cli getaddressesbyaccount ""
[returns list (A) of addresses or none]
$ litecoin-cli getnewaddress ""
[returns a fresh new address ADDR1]
$ litecoin-cli getaddressesbyaccount ""
[returns list of addresses (A) + single entry for ADDR1]
$ litecoin-cli dumpprivkey <ADDR1>
[returns private key PRIV1 that ADDR1 came from]
$ litecoin-cli importprivkey <PRIV1>
[returns nothing]
$ litecoin-cli getaddressesbyaccount ""
[returns list of addresses (A) + ADDR1 + two extra representations]

最後一次呼叫getaddressesbyaccount ""顯示,在導入私鑰時,守護程序會添加與其對應的所有可能地址。

萊特幣的私鑰對應於:

  • p2pkh 地址(舊版,非 Segwit):以“L”開頭
  • 一個 p2sh 地址(封裝的 Segwit):以 ‘M’ 開頭
  • 一個 bech32 地址(純隔離見證):以 ’ltc’ 開頭

注意ADDR1返回的getnewaddress將是一個“L”地址或一個“M”地址,具體取決於守護程序的配置是否addresstype=legacy分別包含。您可以選擇在命令行上定義要生成的地址類型:\

$ getnewaddress "" legacy/p2sh-segwit/bech32

注意 2:您可能已經註意到 litecoind(最新版本)完全避免使用以“3”開頭的舊 p2sh 地址,因為它們試圖讓人們遠離它們並轉向“M”地址,以避免與比特幣的“進一步混淆” 3’ 地址。

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