You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

创建TRON地址并激活交易时遭遇无效十六进制字符串错误求助

TRON交易创建报错「INVALID hex String」的解决方法

你遇到的INVALID hex String错误,核心原因是传给TRON节点API的地址十六进制格式不符合要求,问题出在ConvertBase58CheckToHex函数的实现上。

正确的TRON地址转Hex规则

TRON Base58地址转API认可的十六进制字符串,必须遵循以下步骤:

  • 解码Base58地址,得到25字节数组:1字节前缀(0x41) + 20字节哈希 + 4字节校验和
  • 切掉末尾4字节的校验和,保留前21字节(前缀+哈希部分)
  • 将这21字节转换为不带0x前缀的十六进制字符串

替换为正确的转换函数

把你的ConvertBase58CheckToHex函数替换为以下实现:

import (
    "encoding/hex"
    "github.com/btcsuite/btcutil/base58"
    "fmt"
)

func ConvertBase58CheckToHex(address string) (string, error) {
    decoded := base58.Decode(address)
    if len(decoded) != 25 {
        return "", fmt.Errorf("无效的TRON地址")
    }

    // 移除末尾4位校验和,保留前缀+哈希部分
    rawAddrBytes := decoded[:21]
    return hex.EncodeToString(rawAddrBytes), nil
}

额外检查项

  • 确认传入的fromAddress和toAddress是合法的TRON Base58地址(以T开头)
  • amount参数需按SUN单位传入:0.1 TRX等价于100000 SUN
  • 转换后的hex地址不能带0x前缀,示例正确格式:41a57f570a0e6578b42c1f0c19be16d73b7c018162

内容的提问来源于stack exchange,提问作者Joel Swakise TheDancer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 00:27:05