6. Простое взаимодействие с загруженными контрактами
Также вы можете делать форк Ethereum и взаимодействовать с контрактами, которые уже были загружены в блокчейн. Для этого потребуется rpc-ссылка, которую можно получить, например, в сервисе Infura и выполнить команду:
usdc.balanceOf(...)
где в скобках указать интересующий адрес, как если бы это было в контракте!
7. Сохранение и загрузка сессий
Если вы хотите сохранить некоторые свои наработки в chisel, то можете выполнить команду !save для сохранения сессии, и позже загрузить ее через команду !load.
!clear поможет очистить память chisel от предыдущих операций.
8. Работа с памятью
Есть также три прекрасные команды !memdump, !stackdump и !rawstack для работы с памятью.
Так например, написав небольшой контракт или выполнив abi.encode можно посмотреть, как это будет располагаться в memory или стеке через соответствующую команду, что может быть очень полезно при дебаггинге или изучении работы памяти.
Заключение
Это то, что удалось узнать за пару дней изучения chisel. Вполне возможно, что "наворотов" и сценариев использования программы куда больше.
Мне он понравился тем, что можно быстро проверять побитовые операции и работать с памятью. Думаю, порой буду обращаться к нему.
А вы, что думаете про chisel?
#foundry #chisel #lesson5
Также вы можете делать форк Ethereum и взаимодействовать с контрактами, которые уже были загружены в блокчейн. Для этого потребуется rpc-ссылка, которую можно получить, например, в сервисе Infura и выполнить команду:
!fork yourRpcLinkможно также указать номер блока для форка:
!fork yourRpcLink 000000000Далее, к примеру, можно написать так:
interface IERC20 { function balanceOf(address holder) external virtual returns(uint256);}
и присвоить его в переменную с реальным контрактом:IERC20 usdc = IERC(0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48);и теперь вы можете делать вызов на контракт на эту функцию:
usdc.balanceOf(...)
где в скобках указать интересующий адрес, как если бы это было в контракте!
7. Сохранение и загрузка сессий
Если вы хотите сохранить некоторые свои наработки в chisel, то можете выполнить команду !save для сохранения сессии, и позже загрузить ее через команду !load.
!clear поможет очистить память chisel от предыдущих операций.
8. Работа с памятью
Есть также три прекрасные команды !memdump, !stackdump и !rawstack для работы с памятью.
Так например, написав небольшой контракт или выполнив abi.encode можно посмотреть, как это будет располагаться в memory или стеке через соответствующую команду, что может быть очень полезно при дебаггинге или изучении работы памяти.
Заключение
Это то, что удалось узнать за пару дней изучения chisel. Вполне возможно, что "наворотов" и сценариев использования программы куда больше.
Мне он понравился тем, что можно быстро проверять побитовые операции и работать с памятью. Думаю, порой буду обращаться к нему.
А вы, что думаете про chisel?
#foundry #chisel #lesson5
👍9🔥1