Web3 ReactNative 错误此浏览器不支持安全随机数生成

Posted

技术标签:

【中文标题】Web3 ReactNative 错误此浏览器不支持安全随机数生成【英文标题】:Web3 ReactNative Error Secure random number generation is not supported by this browser 【发布时间】:2021-12-01 04:36:06 【问题描述】:

我创建了 RN 钱包应用,添加 web3 以生成以太坊帐户,并按照指令https://levelup.gitconnected.com/tutorial-how-to-set-up-web3js-1-x-with-react-native-0-6x-2021-467b2e0c94a4 转移硬币/代币

但我得到了一个错误:

错误:此方法不支持安全随机数生成 浏览器。使用 Chrome、Firefox 或 Internet Explorer 11

另外,使用https://medium.com/@talaikis/react-native-0-60-4-with-web3-js-1-2-0-8090a1decee2进行测试

甚至添加https://www.npmjs.com/package/expo-random 包但同样的问题。

请注意,在浏览器中调试时可以正常工作,但在真实手机上无法正常工作。

【问题讨论】:

【参考方案1】:

添加https://www.npmjs.com/package/react-native-crypto 包并更改以下行时我的问题解决了

require('crypto');

// to 

import crypto from 'crypto'

【讨论】:

【参考方案2】:

React 有一个单独的 csprng 包。

使用它生成 16 个字节的随机性并将其传递给 bip39.entropyToMnemonic 它将为您提供 12 个单词的短语。如果您想要 24 个字,则为 32 个字节。我认为它被称为 rn-randombytes。

【讨论】:

以上是关于Web3 ReactNative 错误此浏览器不支持安全随机数生成的主要内容,如果未能解决你的问题,请参考以下文章

这里有解决此错误消息的方法吗? web3没有定义?

使用 web3.js 将新合约部署到以太坊网络

安装 web3.py 时如何消除错误

重命名服务器文件错误(http 包装器不支持重命名)[PHP]

Web3 错误:EVM 已恢复事务:

部署智能合约时出现节点错误 - Web3.js