Web3.js: JavaScript-шлюз к Ethereum, который я люблю ненавидеть

robot
Генерация тезисов в процессе

Я провел бесчисленные ночи, борясь с Web3.js, этой проклятой коллекцией библиотек JavaScript, якобы упрощающей взаимодействие с Ethereum. Конечно, она позволяет вам общаться с узлами Ethereum через HTTP, IPC или WebSocket, но они не говорят вам о разочаровании, которое с этим связано.

Числа GitHub не лгут – Web3.js был форкнут более 4500 раз и отмечен более чем 14000 звездами на начало 2023 года. Но позвольте мне сказать вам, что популярность не равна совершенству. Каждый форк, вероятно, представляет разработчика, который подумал: "Я могу исправить этот беспорядок!"

Рожденный в 2015 году под наблюдением Фонда Ethereum, Web3.js вырос за пределы только Ethereum к другим совместимым блокчейнам. Отлично в теории, но попробуйте отладить на разных цепях, и вы обнаружите особый вид ада.

Моя первая попытка построить DApp с использованием Web3.js была похожа на сборку мебели IKEA с инструкциями на иероглифах. Документация читается так, будто ее писал кто-то, кто никогда не внедрял это в реальной жизни. Тем не менее, вот мы здесь, используем это для всего, от проектов DeFi до игровых приложений.

Что он может сделать? Ну, когда он работает:

Он управляет аккаунтами Ethereum и переводит средства. Хотя иногда ваши транзакции просто исчезают в пустоте.

Вы можете подписаться на события блокчейна – когда они не отключаются случайным образом.

Он конвертирует между валютными единицами, такими как Wei и Эфир, что на самом деле довольно удобно, поскольку никто не может быстро вычислить 18 знаков после запятой.

Влияние Web3.js нельзя отрицать – он сделал разработку блокчейна доступной для разработчиков на JavaScript, которые в противном случае полностью избегали бы этой области. Но эта доступность имеет свою цену: упрощение сложных концепций блокчейна приводит к уязвимостям в безопасности, когда разработчики не понимают, что происходит «под капотом».

Смотря в будущее, Web3.js движется в сторону IoT и более сложных финансовых услуг. Я скептически настроен, однако – кодовая база нуждается в серьезной переработке, прежде чем взять на себя еще большую ответственность.

Несмотря на все мои жалобы, я все равно почти ежедневно использую Web3.js. Это как тот надоедливый друг, который каким-то образом всегда приводит тебя на лучшие вечеринки. Конечно, торговые платформы не упоминают это явно, но за их гладкими интерфейсами, вероятно, есть какой-то бедный разработчик, ругающийся на сообщения об ошибках Web3.js в 3 часа ночи.

ETH2.07%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Репост
  • Поделиться
комментарий
0/400
Нет комментариев
  • Закрепить