web3.eth.accounts.decrypt在cryp.createDecipheriv

时间:2018-05-21 04:24:11

标签: smartcontracts web3 web3js

我正在使用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 但我不明白该怎么做。

谢谢

1 个答案:

答案 0 :(得分:0)

更新: 经过一番思考后,经过了很多为什么。我决定从web3-eth-accounts

编辑index.js

并改变

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

进入

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

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