0

有谁知道任何支持以下将base58转换为十六进制字符串或从十六进制字符串转换为base58编码的包。下面是一个python实现的例子。

https://www.reddit.com/r/Tronix/comments/ja8khn/convert_my_address/

这个十六进制字符串<-“4116cecf977b1ecc53eed37ee48c0ee58bcddbea5e”应该导致:“TC3ockcvHNmt7uJ8f5k3be1QrZtMzE8MxK”

这是用于验证的链接:https ://tronscan.org/#/tools/tron-convert-tool

4

1 回答 1

1

我一直在寻找它,我能够设计出产生预期结果的功能。

import base58


def hex_to_base58(hex_string):
    if hex_string[:2] in ["0x", "0X"]:
        hex_string = "41" + hex_string[2:]
    bytes_str = bytes.fromhex(hex_string)
    base58_str = base58.b58encode_check(bytes_str)
    return base58_str.decode("UTF-8")


def base58_to_hex(base58_string):
    asc_string = base58.b58decode_check(base58_string)
    return asc_string.hex().upper()

如果您想将交易的公钥(十六进制)转换为钱包地址(base58),它们很有用。

public_key_hex = "0x4ab99740bdf786204e57c00677cf5bf8ee766476"
address = hex_to_base58(public_key_hex)
print(address)
# TGnKLLBQyCo6QF911j65ipBz5araDSYQAD
于 2021-11-13T11:59:45.283 回答