vue.js web3.eth.accounts.decrypt在cryp.createDecipheriv处抛出错误

bkhjykvo  于 2023-04-07  发布在  Vue.js
关注(0)|答案(1)|浏览(191)

我正在使用Web3和以太坊测试网络创建一个简单的Dapp。我试图解密版本3 Keystore JSON文件,但我收到错误

this._web3.eth.accounts.decrypt( JSON.parse(jsonfile), "test123456789");

错误是这样的

cryp.createDecipheriv is not a function

我使用的是1.0.0-beta.34版本。
奇怪的是,这是在我的角形应用程序上发生的。
当我在VueJS中创建一个测试应用程序时,解密函数成功了。
我对这两个都做了同样的手术

npm install web3 --save

npm run-script build

并遵循了它在文档中的使用方式
http://web3js.readthedocs.io/en/1.0/web3-eth-accounts.html?highlight=encrypt
我的问题是,为什么这个错误发生在我的angular应用程序上,但它在我的vue应用程序上工作。我想让这个问题在angular应用程序上也能工作,但不幸的是没有运气。
我所看到的关于这个的信息是这个https://github.com/ethereum/web3.js/issues/1071但我不明白在这里做什么

bakd9h0s

bakd9h0s1#

我决定编辑web 3-eth-accounts中的index.js,并将

var cryp = (typeof global === 'undefined') ? require('crypto-browserify') : require('crypto');

变成公正

var cryp = require('crypto-browserify');

它现在工作了。但是我仍然不知道我的angular设置有什么问题。vue应用程序有相同的代码,但是它工作了。

相关问题