Monad L1 开发参考,整理链配置、开发工具与部署方式。
用途:帮助开发者在 Monad 上配置环境、部署并验证合约,理解其与以太坊的差异。
主要能力与关键事实:主网 Chain ID 143,测试网 10143,代币 MON(18 位小数),EVM 版本 Pectra/prague;出块 400ms,最终性 800ms(2 个 slot),区块 gas 上限 200M,单笔交易 gas 上限 30M,最低 base fee 100 MON-gwei。资料列出多个主网与测试网 RPC、WebSocket 端点及区块浏览器(MonadVision、Monadscan、Socialscan)。
与以太坊差异:Monad 按 gas_limit × price_per_gas 收费,而非 gas_used,因此需显式设置 gas limit(如转账 21000);每账户保留约 10 MON 的 gas 储备。不支持 EIP-4844 blob 交易(类型 3);冷访问更贵(账户 10100、存储槽 8100),ecRecover、ecMul、ecPairing 等预编译改价;新增 0x0100 secp256r1(P256)预编译。
并行执行:无需改 Solidity,运行时做乐观冲突检测,冲突交易最多重执行一次。按用户映射等独立状态并行效果好;全局计数器、同一 AMM 池交易会串行化。
质押预编译地址 0x0000000000000000000000000000000000001000,仅允许标准 CALL,提供 delegate、undelegate、compound、claimRewards、withdraw 等函数与对应 selector、gas。EIP-7702 在 Monad 有额外限制:委托 EOA 余额不得低于 10 MON,禁止 CREATE/CREATE2,可用类型 0x04 指向 address(0) 清除委托。
使用方式:viem 用 defineChain 定义链;Foundry 需安装 Monad 分支(foundryup --network monad),配置 evm_version 为 prague;Hardhat 亦使用 evmVersion "prague"。部署可用 forge create、forge script、Hardhat Ignition,验证支持 Sourcify、Etherscan(含 Monadscan、Socialscan)。建议在部署检查清单中确认链 ID、显式 gas limit、私钥环境变量、合约大小上限 128 KB、无 blob 交易等。
适用场景:在 Monad 上构建与部署 dApp、合约及质押相关集成。
限制:部分 RPC 不含 debug/trace;执行事件仅支持 C、C++、Rust;block.timestamp 粒度较粗,2-3 个区块可能同一秒。具体价格、费用及官方支持范围资料未提供。