TGViewer
Из Solidity в AI и дальше Из Solidity в AI и дальше @solidityset · 2.49K subscribers
Post #910 811
Foundry с 0. Часть 4

Сегодня мы закончим узнавать новые cast команды и пройдем последние три раздела: ABI, конвертация и полезные инструменты.


ABI команды

1. cast abi-encode / cast abi-decode
- шифрует или расшифровывает данные. Например:

cast abi-encode "someFunc(address,uint256)" 0x... 1 234

cast abi-decode "balanceOf(address)(uint256)" 0x000000000000000000000000000000000000000000000000000000000000000a

2. cast 4byte - можно получить функцию по селектору.

cast 4byte 0x8cc5ce99

3. cast 4byte-decode - расшифровать функцию и ее аргументы из calldata:

cast 4byte-decode 0xa9059cbb000000000000000000000000e78388b4ce79068e89bf8aa7f218ef6b9ab0e9d00000000000000000000000000000000000000000000000000174b37380cea000

4. cast 4byte-event - получить функцию event из calldata

cast 4byte-event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

5. cast calldata - создать calldata из функции и аргументов. Например,

cast calldata "someFunc(address,uint256)" 0x... 1

6. cast calldata-decode - расшифровать calldata

cast calldata-decode "transfer(address,uint256)" 0xa9059cbb000000000000000000000000e78388b4ce79068e89bf8aa7f218ef6b9ab0e9d0000000000000000000000000000000000000000000000000008a8e4b1a3d8000

7. cast-pretty-calldata - еще одна команда для расшифровки calldata, например:

cast pretty-calldata 0xa9059cbb000000000000000000000000e78388b4ce79068e89bf8aa7f218ef6b9ab0e9d00000000000000000000000000000000000000000000000000174b37380cea000


8. cast upload-signature / cast sig - получить селектор функции:

cast upload-signature 'function approve(address,uint256)'

можно указывать несколько подряд

9. cast keccak - получить зашифрованные через keccak256 данные.

cast keccak abcsdfg

10. cast compute-address - сгенерировать адрес на основе nonce и адреса деплоера, например:

cast compute-address --nonce 0 --rpc-url yourUrl

11. cast create2 - создать адрес через опкод creat2.

12. cast interface - создать интерфес контракта из ABI:

cast interface -o IWETH.sol 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2

Также можно использовать ABI с Etherscan, но для этого придется получать API и использовать дополнительную опцию --etherscan-api-key.

13. cast max-int / cast min-int / cast max-uint - получение максимальных значений uint256 / int256.


Команды для конвертации данных

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

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

1. Бинарные данные в hex;
2. Fixed point number в integer;
3. Расшифровывать RLP данные;
4. UTF8 text в hex;
5. Количество wei в Эфир;
6. Получать адрес из bytes32;
7. Получать строку из bytes32;
8. hex в строку ASCII;
9. Из hex в числа;
10. Из hex в bytes32;
11. Из hex в RLP;
12. Совершать побитовые операции со сдвигом влево-вправо;

Полные список команд можно найти по ссылке:
https://book.getfoundry.sh/reference/cast/cast-shl

Крайне рекомендую попробовать поработать со всеми командами в свободное время, чтобы понять, как это все работает и привыкнуть работать с cast.


Задание

1. Попробовать выполнить 10 разны команд cast.

#foundry #cast #lesson4
  • 👍 11
  • ❤ 1
More from @solidityset
  1. Sep 22, 2026Какой язык программирования учить сейчас? На днях в Твиттере увидел небольшой пост о разви…
  2. Sep 18, 2026Интересная модель Jev Буквально пару дней назад в Твиттере многие начали обсуждение новой…
  3. Sep 14, 2026Графы повсюду Если вы также следите за новостями в мире ИИ, то наверняка уже все чаще встр…
  4. Sep 10, 2026GTA6, Cyberleek, блокчейн и безопасность Увидел несколько постов (тут и тут) про Cyberleek…
  5. Sep 9, 2026Работа с чистой энергией Дисклеймер Сегодня ава и название канала, наконец, поменялись. Я…
  6. Sep 9, 2026Channel name was changed to «Из Solidity в AI и дальше»
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →