anvil
一个快速的本地以太坊开发节点
$ anvil --help
用法: anvil [选项] [命令]
命令:
completions 生成 shell 完成脚本 [别名: com]
generate-fig-spec 生成 Fig 自动补全规范 [别名: fig]
help 打印此消息或给定子命令的帮助
选项:
-a, --accounts <NUM>
生成和配置的开发账户数量
[默认: 10]
-b, --block-time <SECONDS>
间隔挖矿的区块时间(秒)
[别名: blockTime]
--balance <NUM>
每个开发账户的以太余额
[默认: 10000]
--config-out <OUT_FILE>
将 `anvil` 的输出以 json 格式写入用户指定的文件
--derivation-path <DERIVATION_PATH>
设置要派生的子密钥的派生路径。
[默认: m/44'/60'/0'/0/]
--dump-state <PATH>
在退出时将链的状态和区块环境转储到给定文件。
如果值是一个目录,状态将写入
`<VALUE>/state.json`。
-h, --help
打印帮助(使用 '-h' 查看摘要)
--hardfork <HARDFORK>
要使用的 EVM 硬分叉。
通过名称选择硬分叉,例如 `shanghai`、`paris`、`london`,
等等... [默认: latest]
--init <PATH>
使用给定的 `genesis.json` 文件初始化创世区块
--ipc [<PATH>]
在给定路径或默认路径 `/tmp/anvil.ipc` 启动 ipc 服务器
[别名: ipcpath]
--load-state <PATH>
从先前保存的状态快照初始化链
-m, --mnemonic <MNEMONIC>
用于生成账户的 BIP39 助记词短语。如果使用了
`mnemonic_random` 或 `mnemonic_seed`,则不能使用
--max-persisted-states <MAX_PERSISTED_STATES>
磁盘上要持久化的最大状态数量。
请注意,`prune_history` 将覆盖 `max_persisted_states` 为 0。
--mixed-mining
[别名: mixed-mining]
--mnemonic-random [<MNEMONIC_RANDOM>]
自动生成 BIP39 助记词短语,并从中派生账户。
不能与其他 `mnemonic` 选项一起使用。你可以指定
助记词中要包含的单词数量。 [默认: 12]
--mnemonic-seed-unsafe <MNEMONIC_SEED>
从给定种子生成 BIP39 助记词短语。不能与其他
`mnemonic` 选项一起使用。
小心: 这不是安全的,只应在测试中使用。切勿在生产中使用生成的私钥。
--no-mining
禁用自动和间隔挖矿,而是按需挖矿
[别名: no-mine]
--order <ORDER>
交易在内存池中的排序方式
[默认: fees]
-p, --port <NUM>
监听的端口号
[默认: 8545]
--preserve-historical-states
在转储状态时保留历史状态快照。
这将保存链在特定区块哈希时的内存状态。
当使用 `--load-state` / `--state` 时,这些历史状态将被加载到内存中,并有助于超出转储状态的区块的 RPC 调用。
--prune-history [<PRUNE_HISTORY>]
不保留完整的链历史。如果指定了数字参数,最多保留此数量的状态在内存中。
如果启用,则不会在磁盘上持久化任何状态,因此
`max_persisted_states` 将为 0。
-s, --state-interval <SECONDS>
状态和区块环境转储到磁盘的间隔(秒)。
参见 --state 和 --dump-state
--silent
启动时不打印任何内容,并且不打印日志
--slots-in-an-epoch <SLOTS_IN_AN_EPOCH>
每个纪元中的插槽数量
[默认: 32]
--state <PATH>
这是 --load-state 和 --dump-state 的别名。
如果文件存在,它将使用存储在文件中的状态和区块环境初始化链,并在退出时转储链的状态。
--timestamp <NUM>
创世区块的时间戳
--transaction-block-keeper <TRANSACTION_BLOCK_KEEPER>
内存中要保留的交易区块数量
-V, --version
打印版本
服务器选项:
--allow-origin <ALLOW_ORIGIN>
cors `allow_origin` 头部
[默认: *]
--host <IP_ADDR>
服务器将监听的主机
[环境: ANVIL_IP_ADDR=]
[默认: 127.0.0.1]
--no-cors
禁用 CORS
--no-request-size-limit
禁用默认的请求体大小限制。撰写时默认限制为 2MB
分叉配置:
--compute-units-per-second <CUPS>
设置此提供者每秒假定可用的计算单位数量
默认值: 330
另请参见 --fork-url 和
<https://docs.alchemy.com/reference/compute-units#what-are-cups-compute-units-per-second>
-f, --fork-url <URL>
从远程端点获取状态,而不是从空状态开始。
如果你想从特定区块号获取状态,请添加区块号,例如 `http://localhost:8545@1400000` 或使用
`--fork-block-number` 参数。
[别名: rpc-url]
--fork-block-number <BLOCK>
从远程端点获取特定区块号的状态。
参见 --fork-url。
--fork-chain-id <CHAIN>
指定链 ID,以跳过从远程端点获取。启用离线启动模式。
你仍然必须传递 `--fork-url` 和 `--fork-block-number`,并且已经在磁盘上缓存了所需的状态,任何本地缺失的内容将从远程获取。
--fork-header <HEADERS>
用于 rpc 客户端的头部,例如 "User-Agent: test-agent"
参见 --fork-url。
--fork-retry-backoff <BACKOFF>
遇到错误时的初始重试退避。
参见 --fork-url。
--fork-transaction-hash <TRANSACTION>
从远程端点获取特定交易哈希的状态。
参见 --fork-url。
--no-rate-limit
禁用此节点提供者的速率限制。
默认值: false
另请参见 --fork-url 和
<https://docs.alchemy.com/reference/compute-units#what-are-cups-compute-units-per-second>
[别名: no-rpc-rate-limit]
--no-storage-caching
明确禁用 RPC 缓存的使用。
所有存储插槽都完全从端点读取。
此标志会覆盖项目的配置文件。
参见 --fork-url。
--retries <retries>
对于虚假网络(超时请求)的重试请求数量
默认值 5
--timeout <timeout>
在分叉模式下发送到远程 JSON-RPC 服务器的请求超时(毫秒)。
默认值 45000
环境配置:
--block-base-fee-per-gas <FEE>
区块中的基本费用
[别名: base-fee]
--chain-id <CHAIN_ID>
链 ID
--code-size-limit <CODE_SIZE>
EIP-170: 合约代码大小限制(字节)。由于测试,增加此限制是有用的。要完全禁用,请使用
`--disable-code-size-limit`。默认值为 0x6000 (~25kb)
--disable-block-gas-limit
禁用 `call.gas_limit <= block.gas_limit` 约束
--disable-code-size-limit
禁用 EIP-170: 合约代码大小限制
--disable-min-priority-fee
禁用强制最低建议优先费用
[别名: no-priority-fee]
--gas-limit <GAS_LIMIT>
区块 gas 限制
--gas-price <GAS_PRICE>
gas 价格
EVM 选项:
--alphanet
启用 Alphanet 功能
[别名: odyssey]
--auto-impersonate
启动时启用 autoImpersonate
[别名: auto-impersonate]
--disable-console-log
禁用将 `console.log` 调用打印到 stdout
[别名: no-console-log]
--disable-default-create2-deployer
禁用默认的 create2 部署者
[别名: no-create2]
--memory-limit <MEMORY_LIMIT>
每次 EVM 执行的内存限制(字节)
--optimism
运行 Optimism 链
[别名: optimism]
--steps-tracing
启用用于调试调用的步骤跟踪,返回 geth 风格的跟踪
[别名: tracing]