🛠️В этом разделе мы сделаем обзор на инструменты, которые помогают понимать блокчейн и взаимодействовать со смарт-контрактами. Если ты планируешь разрабатывать смарт-контракты, то тебе будет необходимо знать и использовать эти инструменты.
Опр! Etherscan - это ведущая платформа для исследования блокчейна, поиска, API и аналитики в сети Ethereum. Еще его называют обозреватель блоков. Платформа обеспечивает равноправный доступ к данным блокчейна.
Важно! Etherscan выполняет множество функций кошелька, но никогда не хранит приватные ключи аккаунтов и не контролирует транзакции в блокчейне.
Etherscan работает, как поисковая система, индексируя все транзакции в блокчейне Ethereum. Когда ты вводишь адрес аккаунта или контракта в поле поиска, он показывает все транзакции этого адреса. Для этого даже не нужно создавать аккаунт на etherscan.
Результат поиска по адресу можно посмотреть на скриншоте. В красную рамку выделены адрес контракта, баланс, токен трекер, список вкладок для аналитики. Аналитика включает в себя вкладки: обозреватель транзакций на этом адресе, взаимодействие с контрактом и тому подобное.
Если смарт-контракт был верифицирован, то есть автор предоставил интерфейс, который описывает смарт-контракт, то в этом случае можно прям на платформе посмотреть код контракта.
Или даже можно взаимодействовать с контрактом. В разных вкладках функции на чтение и запись.
Для сети Sepolia(это тестовая сеть Ethereum) тоже есть свой обозреватель блоков.
Важно! Обычной практикой является создание своего отдельного обозревателя блоков для каждого блокчейна. Например:
- для Tron => TronScan
- для Polygon => PolygonScan
- для BNB Smart Chain => BscScan
- и т.д.
Обозреватели блоков являются базовым необходимым инструментом дял отслеживания транзакций в сети. Они полностью бесплатны и в большинстве простых случаев его функционала достаточно.
Опр! Tenderly - это универсальная Web3 платформа разработки, которая включает в себя инструменты отладки, тестирования и разработки смарт-контрактов. Предоставляет кучу инструментов из коробки. Инструмент можно использовать в режиме дашбордов для сбора аналитических данных по задеплоенным контрактам.
Рабочее пространство организовано через сущность проекты. Для проектов можно настраивать доступ от имени организации. Также можно создать даже отдельные версии проектов.
Продукт включает следующие инструменты:
- Tenderly Explorer (функционал аналогичный etherscan). Просмотр транзакций.Авторизация не обязательна.
- Песочница. Позволяет писать код смарт-контрактов и
javascript
скрипты для быстрого прототипирования или обучения написанию смарт-контрактов. Код смарт-контракта будет компилироваться и выполняться прямо в браузере. - Web3 Gateway. Надежное решение в доступе к блокчейну с мгновенной синхронизацией данных. Можно анализировать и исторические данные.
- Contract verification. Можно верифицировать контракт так, чтобы он был виден только владельцу проекта в Tenderly. И только при деплое конечного варианта верифицировать публично. Часто это бывает удобно, чтобы не светить тестовый код контрактов.
- Transaction Simulator. Можно симулировать любую транзакцию и посмотреть, что получится в ответе. В основной state блокчейна транзакция конечно не попадет. Работает через вызов JSON RPC метода
eth_call
. Умеет показыватьtraces
вызовов. - Web3 Actions. Это обычная функция
javaScript
, работающая в инфраструктуре Tenderly. Срабатывает в зависимости от определенных правил триггера события в сети и запускает action к исполнению. - Wallet Monitoring. Также как и контракт, можно добавить адрес кошелька в Tenderly. Это дает возможность следить за транзакциями, симулировать транзакции и настраивать поток оповещений.
- Transaction Filtering. Для этого инструмента выделена отдельная вкладка, которая представляет список транзакций конкретного контракта или кошелька. Можно гибко настраивать табличное представление и фильтровать транзакции по собственным параметрам.
- Visual Debugger. Визуальный инструмент, который позволяет детально рассмотреть, что происходит внутри транзакции. Позволяет детально разобрать
call traces
. Можно походить вперед и назад прям по стеку вызовов и debugger будет подсвечивать вызываемые строчки кода. - Smart Contract Analytics. Отдельный инструмент для сбора аналитических данных со смарт-контракта. Позволяет смотреть на вызовы транзакции с течением времени, статистику различных вызовов, дневную, недельную и месячную активность.
- Real-time Alerting. Можно настроить собственные оповещения.
- Gas Profiler. Является частью debugger. Показывает детальный расход газа транзакцией. Можно посмотреть статистику расходу относительно каждого вызова.
- Forks. Дает возможность создавать форк сети и запускать в нем код смарт-контракта. Это дает гибкость в запуске симуляции транзакции или целой группы симуляций изолировано внутри форка.
- Integrations. Есть интеграция с
hardhat
. Для этого используется специальный плагинhardhat-tenderly
. Необходимо будет указать аккаунт и проект tenderly с которым будет интеграция. Можно экспортировать транзакции в tenderly. Можно верифицировать контракт при помощи tenderly.
Думаю ты понял, что tenderly является очень мощным инструментом. Единственный минус заключается в том, что он платный. Бесплатный план довольно скуден.🐷 Можно завести только один проект и добавить одну организацию, нельзя добавить команду к дашбордам, ограничено количество контрактов, за которыми можно следить. Малоинформативная дефолтная аналитика. Однако и на бесплатном плане возможности впечатляют. Его обязательно нужно попробовать в деле.