forge inspect
名称
forge-inspect - 获得关于智能合约的专门信息
简介
forge inspect [options] contract_name field
描述
获得关于智能合约的专门信息
要检查的字段(字段)可以是以下任何一种。
abib/bytes/bytecodedeployedBytecode/deployed_bytecode/deployed-bytecode/deployedbytecode/deployedassembly/asmasmOptimized/assemblyOptimized/assemblyoptimized/assembly_optimized/asmopt/assembly-optimized/asmo/asm-optimized/asmoptimized/asm_optimizedmethods/methodidentifiers/methodIdentifiers/method_identifiers/method-identifiers/migasEstimates/gas/gas_estimates/gas-estimates/gasestimatesstorageLayout/storage_layout/storage-layout/storagelayout/storagedevdoc/dev-doc/devDocirir-optimized/irOptimized/iroptimized/iro/iroptmetadata/metauserdoc/userDoc/user-docewasm/e-wasmerrorsevents
选项
--pretty
如果支持的话,漂亮地打印所选字段。
缓存选项
--force
清除缓存和 artifacts 文件夹并重新编译。
链接器选项
--libraries libraries
设置预链接库。
参数的格式必须是 <remapped path to lib>:<library name>:<address>,例如 src/Contract.sol:Library:0x...。
也可以在你的配置文件中设置为 libraries = ["<path>:<lib name>:<address>"].
编译器选项
--optimize
激活 Solidity 优化器。
--optimizer-runs runs
优化器 runs 的选项。
--via-ir
使用 Yul 作为编译管道的中间语言。
--revert-strings
如何处理 revert 和 require 的结果字符串。
--use solc_version
指定 solc 的版本,或一个本地 solc 的路径,以进行编译。
有效值的格式为 x.y.z,solc:x.y.z 或 path/to/solc。
--offline
不使用网络,缺失的 solc 版本将不会被安装。
--no-auto-detect
不使用 solc 的自动检测。
--ignored-error-codes error_codes
从错误代码中忽略 solc 警告。该参数是一个以逗号分隔的错误代码列表。
--extra-output selector
额外的产出要包括在合约的 artifact 中。
示例键: abi, storageLayout, evm.assembly, ewasm, ir, ir-optimized, metadata。
关于完整的描述, 请参阅 [Solidity docs][output-desc]。
--extra-output-files selector
额外的输出写到单独的文件。
示例键: abi, storageLayout, evm.assembly, ewasm, ir, ir-optimized, metadata.
关于完整的描述, 请参阅 [Solidity docs][output-desc].
--evm-version version
目标 EVM 版本
Project Options
--build-info
生成构建信息文件。
--build-info-path path
输出目录的路径,构建信息文件将被写入。
--root path
项目的根路径。默认情况下,这是当前 git 仓库的根目录,或当前工作目录。
-C path
--contracts path
合约源代码目录。
环境变量:DAPP_SRC
--lib-paths path
库的文件夹路径。
-R remappings
--remappings remappings
项目的重映射。
该参数是一个逗号分隔的重映射列表,格式为 <source>=<dest>。
--cache-path path
编译器缓存的路径。
--config-path file
配置文件的路径。
--hh
--hardhat
这是一个方便的标志,与传递 --contracts contracts --lib-paths node-modules 相同。
-o path
--out path
项目的 artifacts 目录。
--silent
抑制所有输出。
普通选项
-h
--help
打印帮助信息。
例子
-
检查一个合约的字节码。
forge inspect MyContract bytecode -
检查合约的存储布局。
forge inspect MyContract storage
3 . 以漂亮的格式检查合约的 abi:
forge inspect --pretty MyContract abi