b biangogo.com
~ / biangogo.com / soliditytu-wen-jiao-cheng

Solidity 图文教程:用画图思维理解合约执行流程

published: 2026-05-24T06:12:19.585530+00:00 updated: 2026-05-24T14:10:57.677493+00:00
Solidity图文教程 - Solidity 图文教程:用画图思维理解合约执行流程

Solidity 图文教程

人脑对图像的处理速度比文字快得多。学 Solidity 时,如果能把每个抽象概念画成流程图或结构图,理解效率会大大提升。本文挑选六个最常被绕晕的概念,用图文方式拆解。读完之后你不仅能写代码,更能像审计师那样在脑海里画出执行图谱。这种能力在分析 Binance 上挂牌项目的合约时尤为有用。

一、画出一笔交易的完整生命周期

一笔交易从用户钱包发起,到最终落到链上,会经历八个节点:钱包构造、签名、广播、mempool、矿工选择、区块打包、共识确认、状态写入。每个节点都有自己的失败可能性:余额不足、gas 不足、被替换、被重组。把这八个节点画成左到右的流程图,你就拥有了排查任何「我的交易怎么没成功」问题的地图。

在 EVM 内部,节点会按字节码逐条执行你的合约。op code 入栈、出栈、读 storage、写 memory,每一步都改变三个区域:stack(栈)、memory(短期内存)、storage(持久存储)。理解这三块的物理结构,是写出高效合约的前提。这种结构也是阅读 币安 上合约源码时的基础参考框架。

二、画出 storage 的 slot 布局

storage 是一个键值数组,每个 slot 32 字节。状态变量按声明顺序顺序分配到 slot:uint256 占一格,address 占 20 字节(被压缩到一格),bool 占 1 字节。把若干小变量打包到同一个 slot 能省下大量 gas。