eth_getLogs 是应用最常用的事件查询接口,但它的回复来自 RPC 节点,本身不带可验证性。EIP-7792 提议让每条日志按地址、主题等维度累积进一个专用合约的存储,使查询结果可以被密码学证明。本文拆解其存储布局思路、与 EIP-6466 的依赖,以及为什么现在还停在搁置状态。
汇总与「智能合约」相关的文章,帮助你系统了解该主题。
eth_getLogs 是应用最常用的事件查询接口,但它的回复来自 RPC 节点,本身不带可验证性。EIP-7792 提议让每条日志按地址、主题等维度累积进一个专用合约的存储,使查询结果可以被密码学证明。本文拆解其存储布局思路、与 EIP-6466 的依赖,以及为什么现在还停在搁置状态。
EIP-3155 给 EVM 执行轨迹定了统一的 JSON 字段表:程序计数器、操作码、剩余燃料、栈深度,每一步一行。本文拆解这份格式的字段含义、它想解决的客户端差异问题、和排查交易失败时怎么用上逐行轨迹,以及它和轻量事件日志的分工。
CosmWasm 不在链上装 EVM,而是给 Cosmos SDK 链加一个 x/wasm 模块,用 Rust 写合约、在 Wasm 虚拟机里执行。本文解释它与 SDK 模块、IBC 的关系,以及用户最容易弄错的三件事。
EIP-7906 设想一枚新操作码,让合约在执行中读取本次交易结束时的账户状态差异,并据此提前中止。钱包与协议可以给一次授权立字据:只接受某种状态变化,否则整笔撤销。本文拆解机制、用途与草案阶段的争议。
以太坊合约不会自己醒来,定时任务今天全靠链外 Keeper 敲门。EIP-7833 提出 OFFERCALL 操作码,让合约向出块者竞价、把函数排进下一个块。本文按提案原文拆解它的调度规则、烧 ETH 的设计动机与目前的停滞状态。
EVM 的跳转长期只有按栈上绝对地址跳的 JUMP,编译器为此付出跳表与校验成本。EIP-4200 为 EOF 格式设计 RJUMP、RJUMPI、RJUMPV 三条相对跳转,偏移量编成指令自带的有符号立即数。本文讲这三条指令的编码、对旧字节码的无效化处理与它随 EOF 一起停滞的现状。
以太坊状态越长越大,SLOAD 这类依赖状态体积的操作码越来越便宜得不对劲。2019 年的 EIP-1884 把 SLOAD 从二百提到八百 Gas,BALANCE 与 EXTCODEHASH 上调到七百,同时引入五日价的 SELFBALANCE。本文用提案里的同步测速图讲清状态读操作为什么要按账本大小重新定价。
ERC-165 让合约自报支持哪些接口,但普通钱包地址不是合约,没法应答。ERC-1820 用无人持钥的账户部署一张全局注册表,任何地址可为自己登记接口实现者合约。本文讲这张地址全链一致的注册表如何运作、无人持有的部署账户与 ERC777 回调依赖,以及它踩过的坑。
交易被打包不等于执行成功,revert 之后世界状态一点没变。2017 年的 EIP-658 把收据里已经作废的中间状态根字段改造成成功或失败状态码,让任何客户端不用重放交易就能判定结果。本文讲这次字段再生的动机、Byzantium 激活块与今天读收据的注意事项。
EIP-3541 禁止新部署的合约代码以 0xEF 字节开头,这是 2021 年 8 月伦敦升级带出的共识规则。这个字节被预留给未来的可执行格式做魔数,防止未经校验的旧代码被误认成格式有效的对象。本文讲清这条规则改了什么、没改什么,以及它对普通用户意味着什么。