Tron地址十六进制为base58

时间:2020-01-29 15:36:22

标签: blockchain bitcoin cryptojs

我无法将Tron地址十六进制转换为base58。 我在nodejs中使用默认的base58解码器和加密库,但是它没有转换为正确的地址。 有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

下面的代码可以解决问题:

const HEX_PREFIX = '41';

exports.hexAddressToBase58 = (hexAddress) => {
    let retval = hexAddress;
    try {
        let tronWeb = getTronWeb();
        if (hexAddress.startsWith("0x")) {
            hexAddress = HEX_PREFIX + hexAddress.substring(2);
        }
        let bArr = tronWeb.utils['code'].hexStr2byteArray(hexAddress);
        retval = tronWeb.utils['crypto'].getBase58CheckAddress(bArr);
    } catch (e) {
        //Handle
    }
    return retval;
}