无法解析反应式模块密码

时间:2018-10-08 07:10:12

标签: react-native npm webpack ethereum web3js

我已在此处发布了此内容,并使用创建了本机应用程序

react-native init myapp
added web3 in package.json
npm install
react-native run-ios

但是我收到无法从web3-eth-accounts解析模块加密的错误。有什么办法可以解决此问题

无法解析加密货币enter image description here

2 个答案:

答案 0 :(得分:2)

Crypto是一个节点js模块,运行React Native时-它使用Javascript Core。加密不包括在其中。当我安装crypto时,我使用了以下软件包:

https://www.npmjs.com/package/react-native-crypto

说明:

npm i --save react-native-crypto
# install peer deps 
npm i --save react-native-randombytes
react-native link react-native-randombytes
# install latest rn-nodeify 
npm i --save-dev tradle/rn-nodeify
# install node core shims and recursively hack package.json files 
# in ./node_modules to add/update the "browser"/"react-native" field with relevant mappings 
./node_modules/.bin/rn-nodeify --hack --install
rn-nodeify will create a shim.js in the project root directory
// index.ios.js or index.android.js
// make sure you use `import` and not require!  
import './shim.js'
// ...the rest of your code

shim.js导入index.js文件中。

完成加密操作后,如果仍然无法使用,则必须在App.js文件中创建一个const,如下所示:

export const cryp = require('crypto');

并将其导入所需的组件中。

更新

我为此做了一个全新的构建,我遵循以下内容:

react-native init TestApp

按照上面有关加密的说明进行操作。

链接:

react-native link

react-native run-ios

答案 1 :(得分:1)

react-native-crypto不适用于最新的本机版本0.63.3和本机的版本16.13.1

我使用了crypto-js软件包。我的本机应用程序中的版本为3.1.9-1。运作良好。 您可以在package.json文件中添加以下行。

"crypto-js": "3.1.9-1",