smartcontracts - web3.eth.accounts.decrypt 在 cryp.createDecipheriv 抛出错误
问题描述
我正在使用 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 运行脚本构建
并遵循它将如何在文档中使用
http://web3js.readthedocs.io/en/1.0/web3-eth-accounts.html?highlight=encrypt
我的问题是,为什么这个错误发生在我的角度应用程序上,但它在我的 vue 应用程序上工作。我也想在 Angular 应用程序上进行这项工作,但不幸的是没有运气。
我所看到的关于此的所有信息都是 https://github.com/ethereum/web3.js/issues/1071 但我不明白在这里做什么。
谢谢
解决方案
更新:经过一番思考,以及很多原因之后。我决定从 web3-eth-accounts 编辑 index.js
并改变
var cryp = (typeof global === 'undefined') ? require('crypto-browserify') : require('crypto');
进入公正
var cryp = require('crypto-browserify');
现在可以了。但我仍然不知道我的角度设置有什么问题。vue 应用程序具有相同的代码,但它正在工作。
推荐阅读
- python - 使用 Python 运行脚本后关闭 CMD
- css - 使用滚动行为:仅使用 CSS 的一页平滑
- excel-formula - Excel:如何将每行 Y 列中的值(“所有匹配”)与 X 列中的匹配值进行比较?
- swiper - Swiper Js - 无法从图像帖子中删除覆盖线性背景
- assembly - 更改后要打印内存中的原始值
- javascript - 我有一个 HTML 表单,它使用 POST 请求和 PHP 文件自动向我发送电子邮件,但它不起作用……有什么建议吗?
- database - MongoDB传感器存储策略
- vector - 为什么模拟时会得到未定义的输出向量和未定义的时钟?
- rust - 在 Rust 中实现读取行或睡眠定时器有哪些好方法
- firebase - 无法将某些特定子域用于 firebase 动态链接