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

@walletconnect/react-native-dapp认证后signTransaction无确认提示求助

问题排查与解决方案

针对你调用signTransaction后钱包打开但无确认弹窗的问题,以下是具体排查方向和修复方案:

1. 补全交易必填参数

钱包会严格校验交易合法性,缺少关键参数会直接忽略请求:

  • value字段:ETH转账必须显式指定金额,空值或undefined会被判定为无效交易:
    value: Web3js.utils.toHex(Web3js.utils.toWei('0.01', 'ether')) // 替换为实际转账金额
    
  • chainId字段:必须添加对应链的ID(如主网1、Goerli测试网5),确保与钱包当前网络匹配:
  • data字段:如果无合约交互需求,需设为'0x'而非空值或undefined
  • 规范字段名:部分钱包更认可gasLimit而非gas,建议统一使用gasLimit

修正后的基础交易示例:

let txObj = {
  from: userWallet,
  to: receiver_address!,
  value: Web3js.utils.toHex(Web3js.utils.toWei('0.01', 'ether')),
  gasLimit: Web3js.utils.toHex(21000), // ETH转账固定gasLimit为21000
  chainId: 1,
  data: data || '0x',
};

2. 兼容EIP-1559交易格式

MetaMask、Rainbow等主流钱包默认使用EIP-1559标准,建议替换旧的gasPrice为maxFeePerGas和maxPriorityFee:

let txObj = {
  from: userWallet,
  to: receiver_address!,
  value: Web3js.utils.toHex(Web3js.utils.toWei('0.01', 'ether')),
  gasLimit: Web3js.utils.toHex(100000),
  chainId: 1,
  maxFeePerGas: Web3js.utils.toHex(Web3js.utils.toWei('20', 'gwei')),
  maxPriorityFee: Web3js.utils.toHex(Web3js.utils.toWei('2', 'gwei')),
  data: data || '0x',
};

3. 检查WalletConnect初始化配置

确保初始化时指定了正确的链信息,避免应用与钱包网络不匹配:

const connector = useWalletConnect({
  chainId: 1, // 默认链ID
  supportedChains: [1, 5], // 支持的链列表
});

同时建议将@walletconnect/react-native-dapp升级到最新稳定版,旧版本对EIP-1559交易兼容性较差。

4. 修复代码拼写错误

你的代码中singTrasaction是拼写错误,修正后避免后续逻辑异常:

const signedTransaction = await connector.signTransaction(txObj);

5. 测试最小可用交易

先构造最简ETH转账请求,排除非必要参数干扰:

const minimalTx = {
  from: userWallet,
  to: receiver_address!,
  value: Web3js.utils.toHex(Web3js.utils.toWei('0.001', 'ether')),
  gasLimit: Web3js.utils.toHex(21000),
  chainId: 1,
};
const result = await connector.signTransaction(minimalTx);

如果该请求能正常弹窗,说明问题出在原data字段或其他参数格式上,可逐步排查。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 18:55:17