无法在React Native应用上没有远程调试器的情况下调用web3.eth.accounts.create()

时间:2019-01-29 12:06:35

标签: react-native-android ethereum web3js

我正在使用react-native构建一个Android钱包,并尝试使用web3.eth.accounts.create()创建一个帐户。这与启用本机远程调试器一起使用。但是,当我在关闭调试器的情况下处理相同的代码时,它将停止工作。

这是我的package.json

"cryptico": "^1.0.2",
"native-base": "2.8.0",
"node-libs-browser": "2.1.0",
"react": "16.3.1",
"react-native": "0.55.4",
"react-native-firebase": "^5.2.0",
"react-native-gesture-handler": "^1.0.12",
"react-native-scripts": "1.14.0",
"react-navigation": "^3.0.9",
"socket.io-client": "2.0.4",
"web3": "1.0.0-beta.34"

2 个答案:

答案 0 :(得分:2)

我通过使用ethers.js来创建新的以太坊钱包来修复它。

// this is specifically for react-native
import 'ethers/dist/shims';
import {ethers} from 'ethers';
// to create a ethereum wallet
let randomWallet = ethers.Wallet.createRandom();

Web3.js对于本机反应真的很麻烦
在这里阅读更多: https://docs.ethers.io/ethers.js/html/cookbook-react.html#

这是专门为本机设计的指南

答案 1 :(得分:1)

我自己在React Native中使用web3时遇到了问题,所以我切换到ethers.js。 RN内部的效果更好,它可以为您提供几乎所有需要的东西。