`Web3.utils` не определен, а` Web3.eth` не определен - PullRequest
0 голосов
/ 10 апреля 2019

После обновления Web3 с 1.0.0-beta.34 до 1.0.0-beta.37 попытка доступа к любым свойствам Web3.utils, Web3.eth, Web3.bzz и Web3.shh приведет к ошибке.Например, вызов web3.utils.utf8ToHex('some string') в 2_deploy_contract.js следующим образом:

const Web3 = require('web3');
web3.utils.utf8ToHex('some string');

вызывает следующее исключение:

> TypeError: Cannot read property 'utf8ToHex' of undefined

И я обнаружил, что следующий фрагмент кода:

const Web3 = require('web3');
console.log("Web3.eth = " + Web3.eth)
console.log("Web3.utils = " + Web3.utils)
console.log("Web3.bzz = " + Web3.bzz)
console.log("Web3.shh = " + Web3.shh)

Будет выводить:

> Web3.eth = undefined 
> Web3.utils = undefined 
> Web3.bzz = undefined
> Web3.shh = undefined

1 Ответ

0 голосов
/ 10 апреля 2019

Статические свойства (Web3.utils, Web3.eth и т. Д.) Были удалены, потому что если кто-то просто использует utils, то ему, вероятно, следует использовать модуль web3-utils и web3-eth напрямую, вместо объединенияполная библиотека ( ref ).

Пример рабочего кода:

const Web3Utils = require('web3-utils');
const someString = Web3Utils.utf8ToHex('some string');

Примечание. Долгосрочной целью будет удаление класса Web3 и создание пространства имен Web3.Но это будет сделано после стабильной версии ( ref ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...