Skip to content

Commit 8823a07

Browse files
committed
feat: tools to jun1
1 parent 9e6c380 commit 8823a07

File tree

5 files changed

+61
-0
lines changed

5 files changed

+61
-0
lines changed

solidity/junior-1/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,5 @@ _Важно!_ Эта секция необязательна, но если эт
4141
## Recommendations
4242

4343
- [Code Style](./code-style/readme.md)
44+
- [Tools](./tools/README.md)
4445
- [How to DEFI](./how-to-defi.pdf)

solidity/junior-1/tools/README.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# Tools
2+
3+
🛠️В этом разделе мы сделаем обзор на инструменты, которые помогают понимать блокчейн и взаимодействовать со смарт-контрактами. Если ты планируешь разрабатывать смарт-контракты, то тебе будет необходимо знать и использовать эти инструменты.
4+
5+
## Etherscan
6+
7+
_Опр!_ [Etherscan](https://etherscan.io/) - это ведущая платформа для исследования блокчейна, поиска, API и аналитики в сети Ethereum. Еще его называют обозреватель блоков. Платформа обеспечивает равноправный доступ к данным блокчейна.
8+
9+
_Важно!_ Etherscan выполняет множество функций кошелька, но никогда не хранит приватные ключи аккаунтов и не контролирует транзакции в блокчейне.
10+
11+
### Как он работает?
12+
13+
Etherscan работает, как поисковая система, индексируя все транзакции в блокчейне Ethereum. Когда ты вводишь адрес аккаунта или контракта в поле поиска, он показывает все транзакции этого адреса. Для этого даже не нужно создавать аккаунт на etherscan.
14+
15+
Результат поиска по адресу можно посмотреть на скриншоте. В красную рамку выделены адрес контракта, баланс, токен трекер, список вкладок для аналитики. Аналитика включает в себя вкладки: обозреватель транзакций на этом адресе, взаимодействие с контрактом и тому подобное.
16+
17+
![](./images/etherscan-search.png)
18+
19+
Если смарт-контракт был верифицирован, то есть автор предоставил интерфейс, который описывает смарт-контракт, то в этом случае можно прям на платформе посмотреть код контракта.
20+
21+
![](./images/etherscnan-code.png)
22+
23+
Или даже можно взаимодействовать с контрактом. В разных вкладках функции на чтение и запись.
24+
25+
![](./images/etherscnan-interact.png)
26+
27+
Для сети Sepolia(это тестовая сеть Ethereum) тоже есть свой [обозреватель блоков](https://sepolia.etherscan.io/).
28+
29+
_Важно!_ Обычной практикой является создание своего отдельного обозревателя блоков для каждого блокчейна. Например:
30+
- для Tron => [TronScan](https://tronscan.org/#/)
31+
- для Polygon => [PolygonScan](https://polygonscan.com/)
32+
- для BNB Smart Chain => [BscScan](https://bscscan.com/)
33+
- и т.д.
34+
35+
Обозреватели блоков являются базовым необходимым инструментом дял отслеживания транзакций в сети. Они полностью бесплатны и в большинстве простых случаев его функционала достаточно.
36+
37+
## Tenderly
38+
39+
_Опр!_ [Tenderly](https://docs.tenderly.co/) - это универсальная Web3 платформа разработки, которая включает в себя инструменты отладки, тестирования и разработки смарт-контрактов. Предоставляет кучу инструментов из коробки. Инструмент можно использовать в режиме дашбордов для сбора аналитических данных по задеплоенным контрактам.
40+
41+
Рабочее пространство организовано через сущность **проекты**. Для проектов можно настраивать доступ от имени организации. Также можно создать даже отдельные версии проектов.
42+
43+
Продукт включает следующие инструменты:
44+
- **Tenderly Explorer** (функционал аналогичный etherscan). Просмотр транзакций.Авторизация не обязательна.
45+
- **Песочница**. Позволяет писать код смарт-контрактов и `javascript` скрипты для быстрого прототипирования или обучения написанию смарт-контрактов. Код смарт-контракта будет компилироваться и выполняться прямо в браузере.
46+
- **Web3 Gateway**. Надежное решение в доступе к блокчейну с мгновенной синхронизацией данных. Можно анализировать и исторические данные.
47+
- **Contract verification**. Можно верифицировать контракт так, чтобы он был виден только владельцу проекта в Tenderly. И только при деплое конечного варианта верифицировать публично. Часто это бывает удобно, чтобы не светить тестовый код контрактов.
48+
- **Transaction Simulator**. Можно симулировать любую транзакцию и посмотреть, что получится в ответе. В основной state блокчейна транзакция конечно не попадет. Работает через вызов JSON RPC метода `eth_call`. Умеет показывать `traces` вызовов.
49+
- **Web3 Actions**. Это обычная функция `javaScript`, работающая в инфраструктуре Tenderly. Срабатывает в зависимости от определенных правил триггера события в сети и запускает action к исполнению.
50+
- **Wallet Monitoring**. Также как и контракт, можно добавить адрес кошелька в Tenderly. Это дает возможность следить за транзакциями, симулировать транзакции и настраивать поток оповещений.
51+
- **Transaction Filtering**. Для этого инструмента выделена отдельная вкладка, которая представляет список транзакций конкретного контракта или кошелька. Можно гибко настраивать табличное представление и фильтровать транзакции по собственным параметрам.
52+
- **Visual Debugger**. Визуальный инструмент, который позволяет детально рассмотреть, что происходит внутри транзакции. Позволяет детально разобрать `call traces`. Можно походить вперед и назад прям по стеку вызовов и debugger будет подсвечивать вызываемые строчки кода.
53+
- **Smart Contract Analytics**. Отдельный инструмент для сбора аналитических данных со смарт-контракта. Позволяет смотреть на вызовы транзакции с течением времени, статистику различных вызовов, дневную, недельную и месячную активность.
54+
- **Real-time Alerting**. Можно настроить собственные оповещения.
55+
- **Gas Profiler**. Является частью debugger. Показывает детальный расход газа транзакцией. Можно посмотреть статистику расходу относительно каждого вызова.
56+
- **Forks**. Дает возможность создавать форк сети и запускать в нем код смарт-контракта. Это дает гибкость в запуске симуляции транзакции или целой группы симуляций изолировано внутри форка.
57+
- **Integrations**. Есть интеграция с `hardhat`. Для этого используется специальный плагин `hardhat-tenderly`. Необходимо будет указать аккаунт и проект tenderly с которым будет интеграция. Можно экспортировать транзакции в tenderly. Можно верифицировать контракт при помощи tenderly.
58+
59+
Думаю ты понял, что **tenderly** является очень мощным инструментом. Единственный минус заключается в том, что он платный. Бесплатный план довольно скуден.🐷 Можно завести только один проект и добавить одну организацию, нельзя добавить команду к дашбордам, ограничено количество контрактов, за которыми можно следить. Малоинформативная дефолтная аналитика. Однако и на бесплатном плане возможности впечатляют. Его обязательно нужно попробовать в деле.
60+
183 KB
Loading
106 KB
Loading
72.9 KB
Loading

0 commit comments

Comments
 (0)