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 и дальше

19 Oct 2023, 12:08

Telegram'da ochish Ulashish Shikoyat qilish

Foundry с 0. Часть 3

Продолжаем узнавать разнообразие cast команд и сегодня поговорим о тех, что помогают работать с аккаунтами, кошельками и транзакциями, и, на закуску, узнаем, как получить source код контракта с Etherscan.


Account команды

На данный момент существуют 6 команд cast для работы с аккаунтами:

1. cast balance - позволяет узнать количество нативных токенов сети на аккаунте в wei. Тут, кстати, можно уточнить номер блока, на момент которого был тот или иной баланс. Полная команда выглядит так:

cast balance account --block blockNum --rpc-url RpcUrl

2. cast storage - крутая команда, чтобы получить значения в storage контракта. Можно уточнить слот, в котором лежит значение, и скастовать информацию только из него. Например для WETH контракта:

cast storage 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 0

или просто

cast storage 0x5Af0D9827E0c53E4799BB226655A1de152A425a5

3. cast proof - получение storage proof аккаунта. Не очень понял, что каких целей это может потребоваться. С этой командой вы получить proof таких полей как: accountProof, account address, account balance, codeHash, nonce, storageHash, storageProof, storageProof.key, storageProof.proof, storageProof.value.

Если при написании тестов нам будут требоваться эти команды, мы обязательно вернемся к ним и разберем подробнее.

4. cast nonce - тут все просто, получаем nonce аккаeнта, команда предельно простая:

cast nonce account

5. cast code - получение байткода контракта. Пример с Weth:

cast code 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2

6. cast codesize - получение runtime bytecode size контракта.

P.S. В большинстве команд, где запросы идут в сеть, нужно добавлять свою rpc-url!

Теперь несколько слов о командах для работы с кошельком.


Wallet команды

1. cast wallet new
- создать новый кошелек: адрес и приватный ключ.

2. cast wallet address - конвертация приватного ключа в адрес кошелька. Интересная команда, которая принимает достаточно большое количество опций для генерации адреса: на основе приватного ключа, mnemonic derivation path, mnemonic passphrase, обычного mnemonic. При этом вы также можете указывать, где хранится ключ, который нужно использовать для генерации адреса.

Самая простая команда звучит так:

cast wallet address --private-key PRIVATE_KEY

весь список опция можно найти тут:

https://book.getfoundry.sh/reference/cast/cast-wallet-address

3. cast wallet sign - с ней вы можете подписать сообщение с вашего кошелька. Также, помимо приватных ключей, можно использовать mnemonic опции. Простая команда выглядит так:

cast wallet sign --private-key PRIV_KEY "hello"

4. cast wallet verify - раз можно подписать сообщение, то есть возможность и проверки этого действия. С этой командой можно проверить адресата подписанного сообщения. Команда:

cast wallet verify --address account --address addressMessageSignature

5. cast wallet vanity - интересная команда, которая позволяет сгенерировать адрес по специальным критериям: с определенным окончанием или началом, или nonce. Выглядит так:

cast wallet vanity --ends-with beef

где beef - это то, на что должен заканчиваться требуемый адрес.

Далее несколько команд для работы с транзакциями.


Transaction команды

Для начала пройдемся по командам, которые позволяют получать информацию о проведенных транзакциях:

1. cast receipt - получения "чека" о транзакции. Потребуется указать хэш транзакции:

cast receipt TX_HASH

2. cast tx - похожая на первую и выдает информацию о транзакции.

cast tx TX_HASH

3. cast-estimate - с ней можно оценить стоимость проведения транзакции по газу. Также можно указать, если с ней потребуется переслать нативную валюту, типа Эфира. Команда немного сложнее предыдущих и выглядит так:

cast estimate 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 --value 0.1ether "deposit()" --rpc-url rpcUrl

0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 - адрес контракта, куда пойдет вызов, value - количество отправляемого с транзакцией Эфира, deposit - функция, которую будем вызывать.

Вместо deposit - вы можете вставить calldata с селектором вызываемой функции и аргументами для нее.

488 0 5 3
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