Private-Key

python-比特幣庫 |創建私鑰、公鑰和地址 - 怎麼做?

  • March 13, 2022

我正在嘗試使用python-bitcoinlib庫,但它的文件對我來說並不完全清楚。我是一名程序員,但對 Python 很陌生,對比特幣協議不是很精通。

對於以下內容,庫的程式碼方面的過程是什麼?

  1. 生成私鑰
  2. 創建公鑰
  3. 從公鑰創建地址

我嘗試了各種方法,但不完全確定我為哪些函式提供了哪些參數,以及我應該在此過程中使用哪些函式。

我將不勝感激,我認為如果我提供了實現每個步驟的程式碼,那對我的幫助最大。

我能夠遵循比特幣協議(具體來說,bitcoin.org上的開發人員參考開發人員指南來完成所有這些事情,我正在專門研究如何使用庫來完成它,所以我可以完全擁有我的程式碼與它的其他功能兼容,因為我想將該庫用於其他目的。

抱歉,我不熟悉 python-bitcoinlib,但如果您的目標只是創建密鑰​​/地址,您可以通過以下方式使用這個庫(披露:我寫的):

生成私鑰

private = PrivateKey.random()

要麼private = PrivateKey.from_hex('yourhexkeyhere')

要麼private = PrivateKey.from_wif('yourwifhere')

然後得到十六進製表示private.hex()使用private.wif()

創建公鑰

public = private.to_public()
public.hex()
'044cc549c65f4b0b7713d7a763a01221f85fd34602ac8ff0386995349c55de7111d16b5...'
public.hex(compressed=True)
'034cc549c65f4b0b7713d7a763a01221f85fd34602ac8ff0386995349c55de7111'

從公鑰創建地址

public.to_address('P2PKH')
'16B2Ghyu5C1CofKfXF2Zi9JycqaAyaE8cd'
public.to_address('P2WPKH')
'bc1qtqshpjw8kr7jlk27gcvj7pvzt8lp6vn5dc2f24'

如果您使用此庫,請僅將其用作學習工具,不要發送真幣,因為可能仍然存在一些錯誤。

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