摘要:科普合约账户 vs EOA,对照 Etherscan 已验证源码、ABI 与 Deployed Bytecode;以 WETH 为例,不写脚手架。

站内已有 ERC-20 Transfer/Approve、ethers.js Interface 解码、ethers 读合约 与 NFT Token ID。本篇换科普角度:先分清合约账户 vs EOA,再在浏览器里对照已验证源码、ABI、字节码各自是什么。以主网常见的 WETH 合约为例,不写脚手架、不部署。

一、智能合约是什么(官方中文)

打开 ethereum.org 中文「智能合约简介」:智能合约是存在区块链上的程序,按「如果…那么…」自动执行;部署后代码不可随意改写。页面 TOC 还有自动售货机类比、可见条款、用例等。和「自己点钱包转账」不同:合约地址上住着一段可被任何人调用的逻辑;EOA(外部账户)是人/钱包控制的私钥账户。

智能合约是什么:字节码、ABI 与已验证源码-程序旅途
图1:ethereum.org/zh/smart-contracts:智能合约简介;界面中文,2026-10-20 实拍

二、浏览器里认「已验证」源码

本场只读样例(地址固定,数值与持仓会变):

0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2(Wrapped Ether / WETH9)

在 Etherscan 打开地址后进 Contract 页签。若显示绿色勾与 Contract Source Code Verified(Exact Match),说明浏览器上的 Solidity 源码与链上部署字节码经编译对照一致。本场可见:Contract Name=WETH9、Compiler≈v0.4.19、左侧 Outline 列出 deposit / withdraw / approve / transfer 等。未验证合约往往只有十六进制,普通人很难对照逻辑。

智能合约是什么:字节码、ABI 与已验证源码-程序旅途
图2:etherscan.io/address/0xC02a…756Cc2#code:Source Code Verified Exact Match、WETH9.sol 与 Outline;界面英文,2026-10-20 实拍

三、ABI 与字节码差在哪

同一 Contract 页往下滚,常见三块:

  • Contract ABI:JSON,描述对外可调函数名、参数类型、事件——钱包/库靠它编码 calldata、解码返回值与日志。
  • Contract Creation Code:创建合约时附带的初始化字节码(含构造逻辑)。
  • Deployed Bytecode:上链后合约账户里实际存放的运行时代码。

源码是给人读的;字节码是给 EVM 执行的;ABI 是两边的「说明书」。用 ABI 解码字段见站内 Interface 解码文;读 ERC-20 事件见 Transfer/Approve。

智能合约是什么:字节码、ABI 与已验证源码-程序旅途
图3:同一 WETH 合约页:Contract ABI JSON、Contract Creation Code、Deployed Bytecode;界面英文,2026-10-20 实拍

四、Verify & Publish 在做什么

Etherscan 的 Verify & Publish Contract Source Code 表单要求填合约地址、编译器类型/版本、开源许可证等,再提交源码做匹配。目的是让交互方能公开核对逻辑,而不是「认证项目好坏」。未匹配、多文件、不同优化参数都会验证失败——以页面提示为准。

智能合约是什么:字节码、ABI 与已验证源码-程序旅途
图4:etherscan.io/verifyContract:Step 1 Enter Contract Details(地址、Compiler、License);界面英文,2026-10-20 实拍

五、对照卡片与怎么核对

你想确认的事 优先看哪里 常见误区
这是人控钱包还是合约 地址页是否有 Contract 页签 / Code 只看余额不够
逻辑能不能公开读 Source Code Verified + .sol 有代币图标≠已验证
怎么调函数、解日志 Contract ABI 把 ABI 当成私钥或助记词
链上真正执行的是什么 Deployed Bytecode 只读注释不看验证状态
合约账户 vs EOA
EOA 由私钥签名;合约账户由代码响应调用。转 ETH 到合约地址不一定有「收款逻辑」,先看源码或官方说明。
已验证≠无风险
验证只说明源码与字节码匹配;漏洞、后门、权限设计仍要另审。本篇不喊单。
和开发脚手架分工
本篇停在浏览器科普。本地用 ABI 读合约、解码 calldata 见站内 ethers 系列文。
  1. 打开 ethereum.org 中文智能合约简介,建立「链上程序」概念。
  2. 在 Etherscan 搜一个你关心的合约地址,进 Contract 页。
  3. 确认是否 Source Code Verified;展开 ABI 与 Deployed Bytecode 各扫一眼。
  4. 对照站内 ERC-20 字段 或 Token ID,把事件名和 ABI 对上。
  5. 需要钱包读链可试用欧易 Web3(创建可填 CHENGXULVTU);买少量 ETH 付 Gas 可在 币安 或 欧易——本场核对不需要发交易。

相关阅读

说明:配图为 2026-10-20 ethereum.org 中文智能合约简介、Etherscan WETH9(0xC02a…756Cc2)已验证源码/ABI/字节码、Verify & Publish 表单。编译器版本、Gas、持仓等会变。本文不构成投资建议。