web3.eth.accounts.decrypt выдает ошибку в cryp.createDecipheriv

Я создавал простое Dapp, используя Web3 и Ethereum Test Network. Я пытаюсь расшифровать файл JSON хранилища ключей версии 3, но получаю сообщение об ошибке

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

Ошибка такая

cryp.createDecipheriv is not a function

Я использую версию 1.0.0-beta.34.

Странно то, что это происходит в моем приложении angular.

Когда я создал тестовое приложение на VueJS. функция дешифрования выполнена успешно.

Я проделал ту же процедуру с обоими

npm install web3 --save

сборка сценария запуска npm

и следил за тем, как это будет использоваться в документации

http://web3js.readthedocs.io/en/1.0/web3-eth-accounts.html?highlight=encrypt

У меня вопрос, почему эта ошибка возникает в моем приложении angular, но она работает в моем приложении vue. Я хочу сделать эту работу и с угловым приложением, но, к сожалению, не повезло.

Все, что я видел по этому поводу, это https://github.com/ethereum/web3.js/issues/1071 Но я не понимаю, что здесь делать.

Спасибо


person keysl    schedule 21.05.2018    source источник


Ответы (1)


ОБНОВЛЕНИЕ: после небольшого размышления и после многих причин. Решил отредактировать index.js из web3-eth-accounts

И измените

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

в просто

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

Теперь это работает. Но я до сих пор не знаю, что не так с моей настройкой angular. В приложении vue такой же код, но он работает.

person keysl    schedule 21.05.2018