使用Python計算TRC20地址
TRC20地址介紹
TRC20地址是一種數(shù)字錢包地址,用于接收或發(fā)送Tether加密貨幣。每個TRC20地址由一組26到64個字符組成,通常以0x開頭,后面跟著一系列大寫字母和數(shù)字。如果您想要使用TRC20地址進行交易,您需要將其提供給數(shù)字貨幣交易所或其他交易平臺,并按照指示操作即可。
Python計算TRC20地址
完整代碼
import hashlib from eth_utils import keccak import base58 import ecdsa from tronpy.keys import PrivateKey def test1(): # 示例私鑰,可替換為你自己的私鑰 private_key_hex = "your_private_key_hex_string" # 將十六進制私鑰轉(zhuǎn)換為字節(jié)形式 private_key_bytes = bytes.fromhex(private_key_hex) # 使用 SECP256k1 曲線生成私鑰對象 sk = ecdsa.SigningKey.from_string(private_key_bytes, curve=ecdsa.SECP256k1) # 從私鑰派生公鑰 vk = sk.get_verifying_key() public_key_bytes = vk.to_string() public_key_point = vk.pubkey.point # Hash the public key using Keccak-256 public_key_hash = keccak(public_key_bytes) # Take the last 20 bytes of the hash and prepend 0x41 # 添加 TRON 地址前綴 (0x41) tron_prefix = b'\x41' prefixed_hash160 = tron_prefix + public_key_hash[-20:] # 對添加前綴后的結(jié)果進行兩次 SHA-256 哈希以獲取校驗和 first_sha256 = hashlib.sha256(prefixed_hash160).digest() second_sha256 = hashlib.sha256(first_sha256).digest() # 取前 4 字節(jié)作為校驗和 checksum = second_sha256[:4] # 將前綴、哈希結(jié)果和校驗和拼接 full_payload = prefixed_hash160 + checksum # Convert to hexadecimal string trc_address_hex = prefixed_hash160.hex() # 使用 Base58 編碼生成最終的 TRC 地址 trc_address = base58.b58encode(full_payload).decode() # 打印私鑰(以十六進制字符串形式) print("私鑰 (十六進制):", sk.to_string().hex()) # 打印公鑰(以十六進制字符串形式) print("公鑰 (十六進制):", vk.to_string().hex()) # 打印公鑰對應(yīng)的橢圓曲線上的點 print("公鑰對應(yīng)的橢圓曲線上的點:") print(" x 坐標 (十六進制):", hex(public_key_point.x())) print(" y 坐標 (十六進制):", hex(public_key_point.y())) print("Keccak-256哈希:", public_key_hash.hex()) print("校驗和:", checksum.hex()) print("完整地址數(shù)據(jù):", full_payload.hex()) print("TRC 地址數(shù)據(jù):", trc_address_hex) print("TRC 地址:", trc_address) print('\n') def test2(): # 指定私鑰(請?zhí)鎿Q為你實際的私鑰) private_key_hex = "your_private_key_hex_string" # 將十六進制私鑰轉(zhuǎn)換為PrivateKey對象 private_key = PrivateKey(bytes.fromhex(private_key_hex)) # 從私鑰派生公鑰 public_key = private_key.public_key # 從公鑰生成TRC地址 address = public_key.to_base58check_address() print("指定的私鑰 (十六進制):", private_key_hex) print("公鑰 (十六進制):", public_key.hex()) print("TRC地址:", address) print('\n') test1() test2()
到此這篇關(guān)于使用Python計算TRC20地址的文章就介紹到這了,更多相關(guān)Python計算TRC20地址內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 實現(xiàn)對文件夾內(nèi)的文件排序編號
下面小編就為大家分享一篇python 實現(xiàn)對文件夾內(nèi)的文件排序編號,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04在matlab中創(chuàng)建類似字典的數(shù)據(jù)結(jié)構(gòu)方式
這篇文章主要介紹了在matlab中創(chuàng)建類似字典的數(shù)據(jù)結(jié)構(gòu)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03將imagenet2012數(shù)據(jù)為tensorflow的tfrecords格式并跑驗證的詳細過程
這篇文章主要介紹了將imagenet2012數(shù)據(jù)為tensorflow的tfrecords格式并跑驗證,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09Python實現(xiàn)識別手寫數(shù)字 Python圖片讀入與處理
這篇文章主要為大家詳細介紹了Python實現(xiàn)識別手寫數(shù)字,Python圖片的讀入與處理,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-01-01刪除pandas中產(chǎn)生Unnamed:0列的操作
這篇文章主要介紹了刪除pandas中產(chǎn)生Unnamed:0列的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03Python3多進程 multiprocessing 模塊實例詳解
這篇文章主要介紹了Python3多進程 multiprocessing 模塊,結(jié)合實例形式詳細分析了Python3多進程 multiprocessing 模塊的概念、原理、相關(guān)方法使用技巧與注意事項,需要的朋友可以參考下2018-06-06Python實現(xiàn)自動識別并批量轉(zhuǎn)換文本文件編碼
這篇文章主要為大家詳細介紹了如何利用Python實現(xiàn)自動識別并批量轉(zhuǎn)換文本文件編碼的功能,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2023-03-03