OPstack部署配置错误:BaseFeeVaultWithdrawalNetwork参数问题求助
解决Optimism Bedrock生成L2创世块时的BaseFeeVaultWithdrawalNetwork错误
问题重现
执行以下命令生成L2创世块时触发错误:
go run cmd/main.go genesis l2 \ --deploy-config ../packages/contracts-bedrock/deploy-config/getting-started.json \ --deployment-dir ../packages/contracts-bedrock/deployments/getting-started/ \ --outfile.l2 genesis.json \ --outfile.rollup rollup.json \ --l1-rpc RPC
错误输出:
t=2023-08-07T15:24:53+0530 lvl=info msg="Deploy config" path=../packages/contracts-bedrock/deploy-config/getting-started.json t=2023-08-07T15:24:53+0530 lvl=info msg="Deployment directory" path=../packages/contracts-bedrock/deployments/getting-started/ t=2023-08-07T15:24:55+0530 lvl=warn msg="L2OutputOracleStartingBlockNumber is 0, should only be 0 for fresh chains" t=2023-08-07T15:24:55+0530 lvl=crit msg="Application failed" message="invalid deploy config: BaseFeeVaultWithdrawalNetwork can only be 0 (L1) or 1 (L2)" exit status 1
解决方案
1. 校验参数类型是否正确
打开../packages/contracts-bedrock/deploy-config/getting-started.json,确认BaseFeeVaultWithdrawalNetwork的取值为数字类型的0或1,而非字符串类型的"0"或"1":
- 错误示例:
"BaseFeeVaultWithdrawalNetwork": "0" - 正确示例:
"BaseFeeVaultWithdrawalNetwork": 0
2. 检查配置文件语法完整性
使用JSON校验工具(如本地执行jq . getting-started.json命令)扫描配置文件,排查是否存在逗号遗漏、括号不匹配等语法错误,这类问题会导致参数校验逻辑异常。
3. 重置配置文件
若之前修改过配置文件,可能误改了其他关联参数。直接从代码仓库获取原版getting-started.json,仅修改必要参数(如L1 RPC地址)后重新执行命令。
4. 对齐依赖版本
确保本地Optimism Bedrock代码为最新稳定版本,执行以下命令更新后重试:
git pull pnpm install
内容的提问来源于stack exchange,提问作者Hardik Kansal
相关产品推荐
相关产品推荐

