На сегодняшний день наиболее популярными библиотеками для взаимодействия с blockchain Ethereum являются Web3.js и Ethers.js. Каждая из них имеет свои преимущества и недостатки. В чем они заключаются, разберём подробнее.
Что такое библиотека Web3.js
Web3.js была создана некоммерческой организацией Ethereum Foundation. Она представляет собой библиотеку с исходным кодом JavaScript, служит для проектов на базе Ethereum и позволяет разработчикам взаимодействовать с блокчейном при создании dApps — децентрализованных приложений. Также Web3.js имеет функции для подключения к хостам блокчейна с помощью протокола JavaScript Object Notation.
Библиотека включает в себя несколько модулей:
- Web3.eth — предназначен для взаимодействия с сетью Ethereum. В него входят подмодули: Web3.eth.subscribe, Web3.eth.contract, Web3.eth.accounts, Web3.eth.personal и т. д.
- Web3.*.net — для совместного использования сети. Также он применяется как подмодуль для взаимодействия с Ethereum (Web3.eth.net).
- Web3.bzz — для общения с роевой сетью.
- Web3.shh — для взаимодействия с протоколом Wisper, используемым для децентрализованного обмена сообщениями.
- Web3.utils — предоставляет служебные функции для Ethereum dApps и других пакетов Web3.js.
Что такое библиотека Ethers.js
Ethers.js — также библиотека для Ethereum на основе JavaScript, имеет ту же цель использования — взаимодействие с блокчейном. Ethers.js предлагает альтернативу, что видно уже по набору её модулей:
- Ethers.Provider — позволяет устанавливать соединение с подключением Ethereum. С помощью модуля Ethers.js изменяет состояние настройки.
- Ethers.Contract — для развёртывания смарт-контрактов и взаимодействия с ними. Модуль содержит функции, которые позволяют разработчикам отслеживать события смарт-контракта (регистрацию и индексацию).
- Ethers.Utils — используется для создания децентрализованных приложений после форматирования данных и обработки пользовательского входа.
- Ethers.Wallet — предоставляет способ подключения к любому существующему кошельку Ethereum. Этот модуль также позволяет создавать новые кошельки и подписывать транзакции.
Как определить, какая библиотека лучше подходит
Сложно сказать, какая из библиотек является лучшей. Web3.js была выпущена раньше, она более популярна, но зато в Ethers.js есть все функции, представленные в Web3.js, и некоторые новые возможности. Имеются и другие преимущества — Ethers.js полностью лицензирована, имеет очень небольшой размер — 77 КБ, находится в активной разработке.
Web3.js по-прежнему остаётся хорошей библиотекой, но, по мнению разработчиков, экосистемы имеют больший потенциал, когда в них есть доступ к разным инструментам с различными функциями и возможностью конкуренции.
Токен AKRA подключается к сайту посредством обеих библиотек — Web3.js и Ethers.js, что позволяет использовать широкий функционал и эффективно взаимодействовать с блокчейном Ethereum.