TGStat
TGStat
Qidiruv uchun matnni kiriting
Ilg‘or kanal qidiruvi
  • flag Uzbek
    Sayt tili
    flag Russian flag English flag Uzbek
  • Saytga kirish
  • Katalog
    Kanal va guruhlar katalogi Hududiy to‘plamlar Tematik to‘plamlar Платные каналы Kanallar qidiruvi
    Kanal/guruh qo‘shish
  • Reytinglar
    Kanallar reytingi Guruhlar reytingi Postlar reytingi
    Brendlar va shaxslar reytingi
  • Analitika
  • Postlarda qidiruv
  • Telegram'ni kuzatish
  • Targ‘ibot
    Yandex Business orqali reklama TGStat Agency orqali kanallarda reklama TGStat.ru saytida reklama
Из Solidity в AI и дальше

18 Oct 2023, 15:35

Telegram'da ochish Ulashish Shikoyat qilish

Foundry с 0: Cast команды. Часть 2

Сейчас существует достаточно большое количество Cast команд для самых разных задач: от простых запросов о получении баланса токена до работы с calldata и шифрованием.

Думаю, для начала пройдемся по тем, что чаще всего используют в своей работе, а оставшиеся будем изучать уже по мере необходимости.

Итак, мы можем открыть терминал и ввести команду:

cast help

она покажет нам все доступные cast команды.

Тут стоит сделать отступление и уточнить, что для выполнения некоторых команд, нам потребуется специальная RPC ссылка для доступа к блокчейн сетям. Получить такую бесплатно можно на таких популярных проектах как Alchemy или Infura.

По сути, процесс получения ссылок у них похож: регистрируетесь на портале, ищите кнопку Get API key или похожую со словом API, и потом генерируется ваша индивидуальная ссылка для rpc запросов. Выглядит она примерно так:

https://mainnet.infura.io/v3/apiKey

apiKey - ваш уникальный api ключ, показывать который нежелательно никому.

Там же можно получить ссылку на различные сети: Ethereum, Optimism, Arbitrum и т.д.

Именно эту ссылку и нужно будет добавлять в конце наших cast команд.

Если вы работаете в редакторе кода, а не в обычном терминале, то есть возможность создать .env файл и поместить туда ссылки, создав для них специальные переменные среды, и уже их использовать в cast командах.

Для небольшой тренировки, попробуем сегодня выполнить несколько команд для получения информации о сети.


Chain команды

Итак, нам доступны три команды:

cast chain-id
cast chain
cast client

Первая выдаст нам номер блокчейна (например, для Эфириума - это 1, для Оптимизма - 10), вторая - название сети, третья - клиента, через который отправляются запросы (например, для Infura - клиент GETH).

Для того чтобы выполнить команду в консоли потребуется прописать:

cast chain-id --rpc-url link

где вместо link - указать вашу ссылку rpc, которую мы получали выше.

Также, думаю, сегодня можно рассмотреть и команды для блоков.


Block команды

Всего на данный момент их шесть:
https://book.getfoundry.sh/reference/cast/block-commands

1. cast find-block
2. cast gas-price
3. cast block-number
4. cast basefee
5. cast block
6. cast age


Первая ищет блок, который был ближе всего к нужной дате, например

cast find-block 1609459200

покажет блок, который был ближе всего к Новому Году 2021.

Обратите внимание, что время указывается в формате unix (количество секунд прошедшее с момента 1 января 1970 года).

Вторая команда показывает текущую стоимость газа в нужной сети, например:

cast gas-price --rpc-url link

Третья - последний на данный момент блок:

cast block-number --rpc-url link

Четвертая - basefee блока (кто не знает, что это, то почитайте про Лондонское обновление):

cast base-fee blockNum --rpc-url link

blockNum - это номер блока, basefee которого нам нужно получить. Вместо числа - 1, 443, 2343242 - можно указать одно из теговых значений: earliest, finalized, safe, latest или pending. По умолчанию идет latest.

Пятая - получение информации о блоке, например:

cast block finalized --rpc-url link

Тут также можно указывать номер блока числом или одним из тегов:
earliest, finalized, safe, latest или pending.

При этом можно получить не всю информацию о блоке, а только необходимое поле. Попробуйте выполнить предыдущую команду, чтобы понять, о чем я говорю.

Получить информацию о конкретном поле можно с помощью модификации команды, а именно добавления --field опции:

cast block latest -f hash --rpc-url link

Ну, и шестая команда служит для получения timestamp блока:

cast age blockNum --rpc-url link

где blockNum это номер блока или его теговое значение.

Дальше мы продолжим говорить о командах cast и разберем другие примеры.


Задание

1. Зарегистрироваться на Alchemy или Infura;
2. Получить rpc ссылку;
3. Попробовать несколько команд из поста;
4. Настроить .env файл для rpc ссылок;

#foundry #cast #block #chain #lesson2

550 0 4 9
Katalog
Kanal va guruhlar katalogi Kanallar to‘plamlari Kanallar qidiruvi Kanal/guruh qo‘shish
Reytinglar
Telegram-kanallar reytingi Telegram-guruhlar reytingi Postlar reytingi Brendlar va shaxslar reytingi
API
Statistika API'si Postlar qidiruvi API'si API Callback
Kanallarimiz
@TGStat @TGStat_Chat @telepulse @TGStatAPI
O‘qish
Академия TGStat Telegram tadqiqoti 2019 Telegram tadqiqoti 2021 Telegram tadqiqoti 2023
Kontaktlar
Справочный центр Qo‘llab-quvvatlash Email Vakansiyalar
Har xil narsalar
Foydalanuvchi shartnomasi Maxfiylik siyosati Ommaviy oferta
Botlarimiz
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot