2026年10月20日周二

标签:字节码

汇总与「字节码」相关的文章,帮助你系统了解该主题。

函数搬进集装箱:EIP-4750 的 CALLF、RETF 与告别动态跳转
加密货币百科
函数搬进集装箱:EIP-4750 的 CALLF、RETF 与告别动态跳转

EVM 世界运行多年「一切皆跳转」的规矩:函数调用靠把地址压栈再执行动态 JUMP 模拟,验证器不得不在每个跳转点做全码扫描。EIP-4750 是 EOF 字节码集装箱计划里的函数篇:把每个函数拆成独立代码段,配类型段声明输入输出与栈增量,用带立即数的 CALLF 与 RETF 取代动态跳转,另设 1024 深度的独立返回栈。这份 2022 年 1 月的提案最终停在 Stagnant,但它定义的调用模型仍是 EVM 控制流改革最完整的蓝本。

字节码里的函数长什么样:EIP-4573的过程与调用帧
加密货币百科
字节码里的函数长什么样:EIP-4573的过程与调用帧

EVM的字节码天生没有函数边界,参数怎么传、返回到哪、局部变量放哪儿全靠编译器口头约定。EIP-4573提出用一组指令把过程正式写进指令集。本文介绍它依赖的跳转表与容器框架,以及五条新指令各自管什么。

代码和数据分家之后:EIP-7480给EOF容器配的读数指令
加密货币百科
代码和数据分家之后:EIP-7480给EOF容器配的读数指令

EOF格式把合约字节码装进带数据段的容器,旧的CODECOPY读码指令被弃用,读数据段需要新工具。EIP-7480提出DATALOAD、DATALOADN、DATASIZE、DATACOPY四条指令。本文逐条拆解它们的语义、Gas定价和越界补零规则。

三条指令给EVM装函数:CALLSUB、CALLDEST与RETURNSUB
加密货币百科
三条指令给EVM装函数:CALLSUB、CALLDEST与RETURNSUB

EVM执行了十年只进不出的JUMP,没有真正的函数调用。EIP-7979用三条新操作码CALLSUB、CALLDEST、RETURNSUB给字节码加上调用与返回,靠一条返回栈记账,不依赖EOF容器格式。本文拆解三条指令的分工与异常规则。

部署时就杜绝栈溢出:EIP-5450给EOF装的静态栈验证
加密货币百科
部署时就杜绝栈溢出:EIP-5450给EOF装的静态栈验证

EVM代码执行到一半才炸栈上溢或下溢,是运行时错误里最常见也最浪费的一种。EOF系列改进中的EIP-5450把检查挪到部署时:对每个函数做一遍控制流分析,逐指令记录栈高度上下界,凡可能触界的代码直接拒绝部署。本文拆解它的两阶段验证、界值传递规则,以及省掉哪些运行时检查。

智能合约怎么部署?从编译到上链
公链与 Layer2
智能合约怎么部署?从编译到上链

本文拆解合约部署的完整流程:编译产物(字节码 + ABI)、部署交易的结构(data = 字节码 + 构造函数参数)、部署成本为什么高、验证/源代码发布的作用,以及工厂模式的意义。