Genesis 部署 — 设计
概述
架构
部署流程
1. 环境清理
├─ 停止 Docker 容器 (reth, postgres, blockscout)
└─ 清理 PostgreSQL 数据库 (DROP + CREATE)
2. 编译
├─ system-contracts: yarn preprocess + hardhat compile
├─ bootloader: yarn preprocess:bootloader (新 hash, 无 Oracle memory slot)
└─ L1 contracts: forge build
3. zkstack ecosystem init
├─ 部署 L1 合约到本地 Reth (chain_id=9)
├─ 生成 genesis block (44 系统合约)
├─ 初始化 PostgreSQL
└─ 生成 contracts.toml (新 GENESIS_ROOT, bootloader_hash 等)
4. 启动节点
├─ zksync_server (State Keeper + API + eth_watch + eth_sender)
└─ Oracle 后台 (baby-chain.toml: 31 pairs, mock source)
5. 合约初始化 (cast 交易)
├─ OracleHub.initialize(symbols, 60, 500, 1)
├─ OracleHub.setOperator(operator_address)
└─ (DID 合约无需初始化 — 默认状态即可使用)
6. E2E 验证
├─ eth_chainId = 271
├─ Oracle: getLatestPrice() 返回价格
├─ DID: createDID() + getDocument()
└─ Bridge: L1→L2 deposit + 余额验证系统合约清单 (44 个)
地址
合约
状态
Bootloader 变更
环境要求
组件
版本/要求
OracleHub 初始化
E2E 验证清单
#
验证项
命令
期望结果
文件清单
可能修改的文件
文件
改动
无需修改的文件
交付计划
任务
内容
Last updated