Tron地址十六进制转基数58

问题描述 投票:0回答:1

我在将Tron地址十六进制转换为base58时遇到了麻烦,我使用nodejs中默认的base58解码器与crypto库,但它没有转换为正确的地址。

blockchain bitcoin cryptojs
1个回答
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;
}
© www.soinside.com 2019 - 2024. All rights reserved.