Cast 概述

Cast 是 Foundry 用于执行以太坊 RPC 调用的命令行工具。 你可以进行智能合约调用、发送交易或检索任何类型的链数据——所有这些都来自你的命令行!

如何使用 Cast

要使用 Cast,请运行 cast 命令,然后运行子命令:

$ cast <subcommand>

例子

让我们使用 cast 来检索 DAI 代币的总供应量:

$ cast call 0x6b175474e89094c44da98b954eedeac495271d0f "totalSupply()(uint256)" --rpc-url https://eth-mainnet.alchemyapi.io/v2/Lc7oIGYeL_QvInzI0Wiu_pOZZDEKBrdf
3369748004762949875806510626 [3.369e27]

cast 还提供了许多方便的子命令,例如用于解码 calldata:

$ cast 4byte-decode 0x1F1F897F676d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e7
1) "fulfillRandomness(bytes32,uint256)"
0x676d000000000000000000000000000000000000000000000000000000000000
999

你还可以使用 cast 发送任意消息。 下面是在两个 Anvil 帐户之间发送消息的示例。

$ cast send --private-key <Your Private Key> 0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc $(cast from-utf8 "hello world") --rpc-url http://127.0.0.1:8545/

📚 参考

有关所有可用子命令的完整概述,请参阅 cast 参考