web3.eth.accounts.decrypt 在 cryp.createDecipheriv 中抛出错误

问题描述 投票:0回答:1

我正在使用 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

我的问题是,为什么这个错误发生在我的角度应用程序上,但它在我的 vue 应用程序上运行。我也想在有角度的应用程序上进行这项工作,但不幸的是没有运气。

所有我看到的关于这个的信息都是这个 https://github.com/ethereum/web3.js/issues/1071 但是我不明白在这里做什么

vue.js smartcontracts web3js
1个回答
0
投票

我决定从 web3-eth-accounts 编辑 index.js 并更改

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

进入正义

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

现在可以用了。但是我仍然不知道我的角度设置有什么问题。 vue 应用程序具有相同的代码,但它正在运行。

© www.soinside.com 2019 - 2024. All rights reserved.