Electrum

如何將十六進制的私鑰轉換為 Electrum 期望的 Segwit 私鑰?

  • January 25, 2021

我一直在關注這段程式碼,用 python 生成 SegWit 地址。但是,我很困惑,因為這個腳本沒有以對 Electrum 可用的方式輸出私鑰。

我發現這個網站告訴我如何將密鑰轉換為壓縮的 WIF。

這是一個範例,我執行了腳本並得到了以下輸出:

Private key: ce534f3d1f481f8736c30d866a6b2c5defe5edc36afaafc0e923586791a2462b
Verifiction key: e5ee63efe153ebf1ec537831f2fba227f4b5f80275e750a9d0a8284c9fb4f91fb5427e034ffec25bacc346263f0f6281f951926f924f7c53f771f632ca9e3cbb
Compressed public key: 03e5ee63efe153ebf1ec537831f2fba227f4b5f80275e750a9d0a8284c9fb4f91f
keyhash: 17f022e2c24238760a0a1b070eaa456df4e8b915
Native address: bc1qzlcz9ckzggu8vzs2rvrsa2j9dh6w3wg4atezy6
P2WPKH_V0: 001417f022e2c24238760a0a1b070eaa456df4e8b915
Hashed P2WPKH_VO: b9502db522524782980563a09355fa7052ee7ff1
P2SH_P2WPKH_V0: a9b9502db522524782980563a09355fa7052ee7ff187
Checksum: 7fcb7c1d
Binary address: 05b9502db522524782980563a09355fa7052ee7ff17fcb7c1d
Nested address: 3JarywCp1dbFiykdGNWyo5pdZyvSLEGZ96

然後我添加了自己的附加程式碼以轉換為 WIF。

WIF: 5KP9tSHuzYd1WTCTwr5ewace9eNM8Kv8xjsWYyELHdEkKcQkiUZ
Compressed WIF: L48nE2detzZwEzdbw5dYTuNJy9wDqLVY92DwS7Br8NwgD6S8NiyT

我將壓縮的 WIF 密鑰導入 Electrum,但我得到 13BaDNdBXkfrGkvJT41HNosBBbbLZRWyZJ 作為公鑰。網上的一切都證實只有舊地址以“1”開頭,但肯定是隔離見證地址,不是嗎?

當我查看“詳細資訊”時,Electrum 給了我正確的壓縮公鑰(03e5ee63efe153ebf1ec537831f2fba227f4b5f80275e750a9d0a8284c9fb4f91f)。

為什麼 Electrum 不給我一個 bech32 地址或嵌套地址?我是否正確轉換了私鑰?

這是我的程式碼,以防萬一出現明顯錯誤。

fullkey = '80' + (private_key.hex())
sha256a = hashlib.sha256(binascii.unhexlify(fullkey)).hexdigest()
sha256b = hashlib.sha256(binascii.unhexlify(sha256a)).hexdigest()
WIF = base58.b58encode(binascii.unhexlify(fullkey+sha256b[:8]))

compressedPubKey = private_key.hex()+'01'
compressed_fullkey = '80' + (compressedPubKey)
compressed_sha256a = hashlib.sha256(binascii.unhexlify(compressed_fullkey)).hexdigest()
compressed_sha256b = hashlib.sha256(binascii.unhexlify(compressed_sha256a)).hexdigest()
compressed_WIF = base58.b58encode(binascii.unhexlify(compressed_fullkey+compressed_sha256b[:8]))

通過指定地址類型作為前綴來導入它:

腳本類型:壓縮 WIF

在這個例子中,它將是p2wpkh:L48nE2detzZwEzdbw5dYTuNJy9wDqLVY92DwS7Br8NwgD6S8NiyT

imp-priv-電子

你會看到地址:bc1qzlcz9ckzggu8vzs2rvrsa2j9dh6w3wg4atezy6添加到錢包中

後加

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