欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Python計算TRC20地址

 更新時間:2025年02月06日 10:18:42   作者:喵個咪  
這篇文章主要為大家詳細介紹了如何使用Python實現(xiàn)計算TRC20地址,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習一下

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)文章

最新評論