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

Trust Wallet通过WalletConnect连接后签名转账失效、Gas与Fee为0如何解决?

Trust Wallet WalletConnect签名交易不上链修复方案

问题根因

你遇到的返回交易中fee、msg为空,交易不上链的问题,由三个错误导致:

  1. Cosmos系链(THORChain、币安链)的交易结构字段不符合Trust Wallet接口规范,你使用的messages、sendCoinsMessage、fromAddress等字段名不是钱包要求的标准字段
  2. 金额单位错误,THORChain的RUNE最小单位为1e8,你填写的0.01、1为主网单位,钱包无法识别会自动置空对应字段
  3. 调用了WalletConnect的私有方法_formatRequest、_sendCallRequest,不符合官方调用规范,参数会被错误解析

具体修复步骤

1. 修正交易结构与单位

const network = 931; // THORChain(RUNE) 链ID
// 单位转换规则:1 RUNE = 100000000 最小单位,所有金额需要转成最小单位的字符串
const tx = {
  fee: {
    amount: [
      {
        denom: "rune",
        amount: "1000000" // 对应0.01 RUNE手续费
      }
    ],
    gas: "2000000"
  },
  memo:"test",
  msg: [
    {
      type: "cosmos-sdk/MsgSend",
      value: {
        from_address: 'thor1mkda02h8hsevykxwnnxs93tgtvgtz5djxteat0',
        to_address: "thor1mkda02h8hsevykxwnnxs93tgtvgtz5djxteat0",
        amount: [
          {
            denom: "rune",
            amount: "100000000" // 对应转账1 RUNE
          }
        ]
      }
    }
  ]
};

2. 修正请求调用逻辑

connector.sendCustomRequest({
  method: 'trust_signTransaction',
  params: [
    {
      network: network,
      transaction: tx // 直接传入交易对象,不需要JSON序列化
    }
  ]
}).then(signedTx => {
  console.log("签名成功:", signedTx);
  // 注意:trust_signTransaction仅返回签名后的交易,不会自动上链
  // 需要手动调用THORChain RPC接口的broadcast_tx_sync方法广播交易
}).catch(err => {
  console.error("签名失败:", err);
});

3. 其他适配说明

  • 若使用trust_sendTransaction方法,钱包会自动完成广播,无需手动调用RPC,交易结构同样要符合上述规范
  • 币安链适配仅需修改对应chain ID、denom、msg type字段即可,其余逻辑一致

内容的提问来源于stack exchange,提问作者user2950593

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 14:54:03