Address

將公共地址轉換為大整數

  • December 14, 2020

我需要從公共 BTC 地址轉換的單個整數。Base58Check 解碼地址是否足夠,我將獲得該整數的十六進制/二進制格式,還是我需要做更多的事情?

Base58Check 解碼數據的格式是什麼?會有任何校驗和,額外的字節嗎?

如果我有說明,我可以用 Bash/Perl/Python 編寫腳本。

注意:這僅適用於以“1”開頭的舊地址。以“3”開頭的地址在開頭附加了 0x0014 並進行了 Base58Check 編碼,而以“bc1q”開頭的地址在開頭附加了 0x0014 但使用了Bech32 編碼

從 Base58Check 解碼後,您將獲得 Hex/binary。解碼地址後應該有 20 個字節以獲得公鑰的雜湊。如果您用於 Base58Check 解碼的任何程序或函式沒有刪除版本字節和校驗和,那麼您將有 25 個字節:第一個字節將是 0x00(版本),最後 4 個字節(chscksum)將是其他 21 個字節的雙 SHA256 雜湊的前 4 個字節。

您要轉換為大整數的是公鑰的 HASH160;又名,以壓縮格式(33 字節)獲取公鑰並通過 SHA256 執行它然後通過 RIPEMD-160 執行該雜湊的結果。

可以在此處找到有關舊地址的更多資訊。此外,我還詳細介紹瞭如何在此處創建地址。

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