`Web3.utils` не определен, а `Web3.eth` не определен

После обновления 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.info("Web3.eth = " + Web3.eth)
console.info("Web3.utils = " + Web3.utils)
console.info("Web3.bzz = " + Web3.bzz)
console.info("Web3.shh = " + Web3.shh)

Выведет:

> Web3.eth = undefined 
> Web3.utils = undefined 
> Web3.bzz = undefined
> Web3.shh = undefined
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
1 382
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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

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

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

потому что зачем иметь один пакет, когда можно иметь 3 пакета

Zimri Leijen 08.10.2020 20:43

Другие вопросы по теме