cast

名称

cast - 从你的命令行中舒适地执行 Ethereum RPC 调用。

简介

cast [options] command [args] cast [options] --version cast [options] --help

描述

这个程序是一套与以太坊互动并进行转换的工具。

命令

General 命令

cast help     获取 Cast 命令的帮助。

cast completions     生成 shell 自动补全脚本。

Chain 命令

cast chain-id     获取 Ethereum 的链 ID。

cast chain     获取当前链的名称。

cast client     获取当前客户端的版本。

Transaction 命令

cast publish     向网络发布一个原始交易。

cast receipt     获取一个交易的交易收据。

cast send     签署并发布一项交易。

cast call     在不发布交易的情况下对一个账户进行调用。

cast rpc     执行一个原始的 JSON-RPC 请求 [aliases: rp]

cast tx     获得有关交易的信息。

cast run     在本地环境中运行一个已发布的交易,并打印出跟踪。

cast estimate     估算交易的 Gas 成本。

cast access-list     为一个交易创建一个访问列表。

cast logs     按签名或主题获取日志

Block 命令

cast find-block     获取与提供的时间戳最接近的区块编号。

cast gas-price     获取当前 Gas 价格。

cast block-number     获取最新的区块号。

cast basefee     获取一个区块的基础费用。

cast block     获取一个区块的信息。

cast age     获取一个区块的时间戳。

Account 命令

cast balance     获取一个账户的余额,单位为 Wei。

cast storage     获取一个合约的存储槽的原始值。

cast proof     为一个给定的存储槽生成一个存储证明。

cast nonce     获取一个账户的 nonce。

cast code     获取一个合约的字节码。

cast codesize     获取合约的运行时字节码大小。

ENS 命令

cast lookup-address     进行 ENS 反向查询。

cast resolve-name     进行 ENS 查询。

cast namehash     计算一个名字的 ENS namehash。

Etherscan 命令

cast etherscan-source     从 Etherscan 获取合约的源代码。

ABI 命令

cast abi-decode     解码 ABI 编码的输入或输出数据。

cast abi-encode     对给定的函数参数进行 ABI 编码,不包括选择器。

cast 4byte     从 https://sig.eth.samczsun.com 中获取指定选择器的函数签名。

cast 4byte-decode     使用 https://sig.eth.samczsun.com 对 ABI 编码的 calldata 进行解码。

cast 4byte-event     从 https://sig.eth.samczsun.com 中获取 topic 0 的事件签名。

cast calldata     ABI 编码一个带参数的函数。

cast calldata-decode     解码 ABI 编码的输入数据。

cast pretty-calldata     漂亮地打印 Calldata。

cast selectors     从字节码中提取函数选择器和参数

cast upload-signature     将指定的签名上传到 https://sig.eth.samczsun.com.

Conversion 命令

cast format-bytes32-string     将一个字符串转换成 bytes32 编码。

cast from-bin     将二进制数据转换为十六进制数据。

cast from-fix     将一个定点数转换成一个整数。

cast from-utf8     将 UTF8 文本转换为十六进制。

cast from-wei     将 wei 转换为 ETH 数量

cast parse-bytes32-address     从 bytes32 编码中解析出校验和地址。

cast parse-bytes32-string     从 bytes32 编码中解析出一个字符串。

cast to-ascii     将十六进制数据转换为ASCII字符串。

cast to-base     将一个进制底数转换为其它底数。

cast to-bytes32     右移十六进制数据至 32 字节。

cast to-dec     将一个基数的数字转换为十进制

cast to-fixed-point     将一个整数转换成一个定点数。

cast to-hex     将一个基数的数字转换为另一个基数

cast to-hexdata     将输入规范化为小写,0x- 前缀的十六进制。

cast to-int256     将一个数字转换为十六进制编码的 int256。

cast to-rlp     对十六进制数据或十六进制数据数组进行 RLP 编码

cast to-uint256     将一个数字转换成十六进制编码的 uint256。

cast to-unit     将一个 eth 单位转换为另一个单位。 (ether, gwei, wei).

cast to-wei     将 eth 金额转换为 wei 单位。

cast shl     进行左移操作。

cast shr     进行右移操作。

Utility Commands

cast address-zero     打印零地址.

cast sig     获取一个函数的选择器。

cast sig-event     从事件字符串生成事件签名。

cast keccak     使用 keccak-256 对任意数据进行哈希。

cast compute-address     从给定的 nonce 和部署者地址计算合约地址。

cast create2      使用 CREATE2 生成确定性合约地址。

cast interface     从一个给定的 ABI 生成一个 Solidity 接口。

cast index     计算集合中条目的存储插槽位置。

cast concat-hex     串接十六进制字符串。

cast max-int     获取 int256 最大值。

cast min-int     获取 int256 最小值。

cast max-uint     获取 uint256 最大值。

cast to-check-sum-address     将一个地址转换为校验过的格式 (EIP-55).

Wallet Commands

cast wallet     钱包管理实用工具。

cast wallet new     创建一个新的随机密钥对。

cast wallet address     将一个私钥转换为一个地址。

cast wallet sign     签署消息。

cast wallet vanity     生成一个虚构的地址。

cast wallet verify     验证一个信息的签名。

可选

Special 选项

-V --version     打印版本信息并退出。

Common 选项

-h
--help
    输出帮助信息。

例子

  1. 在一个合约上调用一个函数。

    cast call 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 \
      "balanceOf(address)(uint256)" 0x...
    
  2. 解码原始的 calldata。

    cast calldata-decode "transfer(address,uint256)" \
      0xa9059cbb000000000000000000000000e78388b4ce79068e89bf8aa7f218ef6b9ab0e9d0000000000000000000000000000000000000000000000000008a8e4b1a3d8000
    
  3. 编码 calldata:

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

BUGS

issues 请见 https://github.com/foundry-rs/foundry/issues