forge inspect

名称

forge-inspect - 获得关于智能合约的专门信息

简介

forge inspect [options] contract_name field

描述

获得关于智能合约的专门信息

要检查的字段(字段)可以是以下任何一种。

  • abi
  • b/bytes/bytecode
  • deployedBytecode/deployed_bytecode/deployed-bytecode/deployedbytecode/deployed
  • assembly/asm
  • asmOptimized/assemblyOptimized/assemblyoptimized/assembly_optimized/asmopt/assembly-optimized/asmo/asm-optimized/asmoptimized/asm_optimized
  • methods/methodidentifiers/methodIdentifiers/method_identifiers/method-identifiers/mi
  • gasEstimates/gas/gas_estimates/gas-estimates/gasestimates
  • storageLayout/storage_layout/storage-layout/storagelayout/storage
  • devdoc/dev-doc/devDoc
  • ir
  • ir-optimized/irOptimized/iroptimized/iro/iropt
  • metadata/meta
  • userdoc/userDoc/user-doc
  • ewasm/e-wasm
  • errors
  • events

选项

--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.zsolc:x.y.zpath/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
    打印帮助信息。

例子

  1. 检查一个合约的字节码。

    forge inspect MyContract bytecode
    
  2. 检查合约的存储布局。

    forge inspect MyContract storage
    

3 . 以漂亮的格式检查合约的 abi:

forge inspect --pretty MyContract abi

另请参阅

forge, forge build