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

React Native中WalletConnect调用Rainbow转账显示MATIC而非POZ问题

Rainbow钱包转账弹窗显示MATIC而非POZ代币的解决方法

问题背景

我开发的React Native移动应用基于Polygon RPC网络,支持Rainbow、MetaMask等外部钱包通过WalletConnect完成转账操作。调用合约transfer方法发起POZ代币转账时,MetaMask的确认弹窗能正确显示POZ代币,但Rainbow弹窗始终显示MATIC,与实际转账代币不符。

问题代码示例

let toAddress = pozPouchFundWallet; // 转账目标地址
let decimals = BigNumber(18);
let amount1 = new BigNumber(amountValue);
let value = amount1.times(new BigNumber(10).pow(decimals));
let contract = new Web3js.eth.Contract(App_ABI, POZ_TOKEN!);
try {
  let dataa = await contract.methods
    .transfer(toAddress, value.toString())
    .encodeABI();
  let txObj = {
    // gas: Web3js.utils.toHex(100000),
    data: Web3js.utils.toHex(dataa),
    from: userWallet,
    to: POZ_TOKEN, // 代币合约地址
  };
  try {
    const transactionHash = await connector
      .sendTransaction(txObj)
      .catch((_err: any) => {
        Toast.show({
          autoHide: true,
          text1: t('topUpPoz.transactionFailed'),
          type: 'error',
        });
      });
    console.log('transactionHash is =', transactionHash);
    resolve(transactionHash);
  } catch (error) {
    console.log('the connector error is = ', error);
    reject(error);
  }
} catch (err) {
  console.log('contact error is = ', err);
  reject(err);
}

问题截图

确认弹窗应显示2 POZ而非2 MATIC

解决方法

1. 显式设置原生币转账金额为0

Rainbow钱包对ERC20合约交易的识别逻辑可能依赖value字段,当该字段缺失时,默认判定为原生MATIC转账。在txObj中添加value: '0x0',明确告知钱包这是ERC20代币交易,而非原生币转账:

let txObj = {
  data: Web3js.utils.toHex(dataa),
  from: userWallet,
  to: POZ_TOKEN, // 代币合约地址
  value: '0x0', // 显式设置原生币金额为0
  gasLimit: Web3js.utils.toHex(100000) // 可选:添加gas限制,帮助钱包准确计算
};

2. 确认Rainbow钱包已添加POZ代币

如果POZ代币未在Rainbow钱包中添加,钱包无法识别合约交易对应的代币类型,会默认显示原生MATIC。可以引导用户手动添加代币(通过合约地址、符号、小数位数),确保钱包能正确识别POZ代币。

3. 检查合约ABI与调用方法的正确性

确保App_ABI中包含正确的transfer方法定义,且POZ_TOKEN地址无误。错误的ABI或合约地址可能导致钱包无法解析交易内容,从而显示错误的代币类型。

内容的提问来源于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 16:55:27