我正在开发的React原生移动的应用程序,用户可以连接他们的加密钱包(MetaMask, Rainbow, etc.
)到移动应用程序。一切都很好。我用这个(@walletconnect/react-native-dapp
)React原生包来实现这一要求。
连接外部钱包(MetaMask
)后,稍后我必须通过我的应用程序进行一些交易。
要进行交易,我必须知道当前在MetaMask
钱包中设置的网络。
是否有任何方法可以通过此react-native
包了解当前连接到Metamask
的网络(chainId)。
要做的交易,我用这个代码.
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, // Contractor token address
};
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);
请给我推荐一个.
1条答案
按热度按时间kr98yfug1#
通过@walletconnect/react-native-dapp,我们可以使用连接器获取链ID,示例代码如下所示。
注:checkNetworkIdHandler是一个自定义的用户定义函数,用于检查连接的chainId是否有效。