虚拟机
- 最大合约代码大小限制为 128 KB(以太坊为 24 KB)。因此,最大初始化代码大小限制为 256 KB(以太坊为 48 KB)。
- 一些 opcode 和预编译被重新定价,以基于 Monad 的优化重新平衡资源的相对稀缺性。参见 Opcode 定价。
- 内存扩展按线性而非二次方定价,并且一笔交易最多可以使用 8 MB 内存。参见内存扩展。
- 支持位于
0x0100的secp256r1(P256)验证预编译(根据 EIP-7951),从而能够在链上 验证 WebAuthn/passkey 签名。 参见预编译。
存储
存储 slot 被分组为每页 128 个连续 slot。访问按页而不是按 slot 进行 warm: 对某页的第一次SLOAD 或 SSTORE 支付冷成本,该页的其他每个 slot 在该交易的其余时间内均为 warm。
Solidity 已经生成的存储布局无需修改即可获益,因为状态变量、结构体字段和数组元素占据连续 slot。 将 slot 散布到多个页的布局也不会受到惩罚;每一页各自支付自己的冷成本。
gas 计价请参见存储页,规范请参见 MIP-8。
交易
- 交易按 gas limit而非 gas usage收费,即从发送者余额中扣除的总 gas 为
value + gas_bid * gas_limit。如 Monad 中的 gas 中所述,这是异步执行的 DoS 防护措施。 - 共识和执行利用储备余额机制确保 共识中包含的所有交易都能够被支付。此机制在共识时对交易包含施加轻度限制, 并定义了在执行时交易将回滚的特定条件。
- 由于储备余额机制,您可能会在区块链中看到最终由于尝试花费超过账户余额的 MON 而失败的交易。这些交易仍然支付 gas,并且是有效交易,其结果是执行回滚。 这不是协议差异,因为许多以太坊的回滚交易也会被包含在链上,但可能与预期不同。 更详细的讨论。
- 不支持交易类型 3(EIP-4844,即 blob 交易)。
- 没有全局 mempool。为了效率,交易会被转发给接下来的几位 leader, 如本地 Mempool 中所述。
EIP-7702 委托
- 如果一个 EOA 被 EIP-7702 委托,由于储备余额规则, 其余额不能降至 10 MON 以下。如果委托被移除,则允许低于 10 MON。 讨论。
- 如果一个 EOA 被 EIP-7702 委托,当它被当作智能合约调用时,
CREATE和CREATE2opcode 会被禁止。讨论。

