长推:Web3产品经理如何清晰理解ERC规范?
注:本文来自@SiliconLuoDAO 推特,其是 @0xCreatorDAO联合创始人,原推文内容由MarsBit整理如下:
Web3产品经理,如何一次性清晰理解ERC规范?
Web3产品经理可以不懂代码,但是必须要精确理解ERC协议的接口概念。(这是一篇从产品经理视角下的ERC协议技术科普贴)
一、Web3 PM的关键是构思资产逻辑
Web2的PM,梳理清楚数据逻辑是非常关键的;类似的,做Web3产品,就一定需要梳理清楚资产逻辑,而要做到这一点,一定要对ERC协议有精准的概念理解。同时我之前看到了太多模糊的比方,这样的比方短期内可以让你觉得自己理解了,长期却会影响你的理解和产品设计。
要理解ERC,首先要明白:ERC本身是一种代码规范,它尽可能从最底层的视角去抽象想刻画的事物的通用属性,并且对应的在合约代码中,用接口(函数)去刻画这些属性,这样子规范就可以起到让大家广泛的使用,在实现自己特异功能的同时,还可以互相通信认可的目的。(只要大家都按照规范去写的代码)
二、聊聊ERC20的设计思路
个人暴论:ERC20可以被认为是其他资产规范之根基,把ERC20的精神理解清楚了,其他的都是类似的套路,只不过多了一些小细节不同而已。
ERC20的核心是描述同质化代币。我们来想想,做减法做到极致,同质化代币有哪些最根本的属性?首先最核心的是需要一个账本,记录每个地址有多少数量代币,后续的一切其他属性都是围绕这个点来展开的。这个账本一般在合约代码里是通过一个map格式的数据来实现,map就是一个从地址到数量的映射。
当然了,这个是藏在代码里面的,没有通过接口暴露在外面。
那么基于这个账本,FT有哪些基本属性呢?查询余额这个肯定有,所以我们有了balanceOf(address _owner)接口,输入是地址,输出就是资产数量。
具体代码内部实现的话,基本操作就是调取合约内部的map账本数据,即:mapping(address => uint256) private _balances,获得输入地址对应的数量;
当然如果你要搞骚操作,也可以写其他返回的逻辑,比如返回真实数量的两倍。。。(其实接口的实现非常自由)
转账动作是一个关键的属性,围绕这个属性我们可以延伸出几个相关联的接口。先看看概念,什么是转账?就是一个账户的数字+a,另外一个账户的数字-a;同时转账必须需要一个发起方,并且发起方能发起的转账指令肯定是受限制的,其中一个必有的限制是:他只能发起转出特定的地址的资产。
比如你只能发起转移自己的资产给其他人,或者你获得了某个地址A的授权,你可以代表A发起指令,转移这个地址特定数量的资产。所以就出现了两个核心的接口:transferFrom(address _from, address _to, uint256 _value),即转账指令本身,以及approve(address _spender, uint256 _value),即授权指令
具体在代码实现的话,transferFrom内部,一般会做一个检查,看看发起这个transaction的地址,是不是有address _from本身,或者有没有address _from的相应授权。如果有,那么就会让合约里记录资产所有信息的map变量的address _from的资产数量减去uint256 _value。
对应的address _to资产数量+uint256 _value;对应的,合约里肯定有个变量,用来储存谁给谁授权了多少额度的信息,即mapping(address => mapping(address => uint256)) private _allowances;同时这个变量又可以被approve接口来写入。
如果你要搞骚操作,也可以不这么内部实现。虽然接口在这里,但是你可以改,比如你要当庄家,你可以改动transferFrom的内部代码检查逻辑,让onwer地址可以操作所有地址的资产...
三、理解完接口概念后,如何设计产品?
如果你现在明白了ERC20是如何通过接口,抽象出通用的属性后,你就会发现,你可以基于此定义很多自己的产品逻辑了。
比如你希望设计一款社交App,你希望用户只能接受来自好友的转账,那么你就可以在Tranfer这个接口的实现里做文章。
接口本身的输入输出不要动,但是你可以在接口函数内部实现代码中,增加一个对“转装接受地址”的检查,检查这个地址是否和转出方存在好友关系。(所以你还需要用一个map或者其他的数据格式,来记录好友关系)
再比如你想学习usdt,设置一个黑名单,黑名单的地址就无法转入准出了。那么这个本质上也是在对Tranfer过程做文章。同样不要动接口本身的,保持和其他合约通讯的通用能力;
但是你可以在内部实现过程里,加一个检查,只要是转入/转出地址在某个黑名单地址里,就统一报错。这个黑名单变量你也可以用单独另外一个变量在合约里储存好。
四、基于ERC20的概念,去理解721,1155,以及其他高阶资产合约呢
回头看,任何资产的核心基本面就是三个:描述资产的数据结构、描述资产所有信息的数据结构,以及资产转移动作相应接口。从这三个基本面出发,你可以自上而下推导出所有的应当拥有的标准接口。
FT的资产数据结构很简单,因为是同质化,就是一个数字就够了。随后就可以推导出上述的内部账本数据结构,以及相应的转账接口设定。
如果变得更加复杂一些,比如资产本身不是一个数字,而是一个ID,并且只有ID,不在意ID的具体数量(或者每个ID总量就是1),那么就变成了721。
照着上述的逻辑推导,你可以第一性原理推导出721应该如何内部储存资产关系,又应该哪些接口来去刻画这种资产数据结构。另外你单独加个接口,让ID和一个图片链接产生映射关系,这个NFT就有了图片可以显示。如果这个ID是和音乐链接产生映射关系,就可以代表音乐。
如果你希望同时有ID,以及每个ID有数量。。。那就是1155,也是类似的逻辑。。。
关于高阶资产的变种规范,如何沿着「资产数据结构 - 资产所有信息 - 资产转移」的方法论去第一性推导,以及在各种应用场景下进行具体的设计。我可以后面再专门写一篇来分享
五、为什么作为web3 PM,精准理解合约逻辑很重要
产品经理可以不懂代码细节,但是产品经理要搞明白产品逻辑。对于web3产品来说,资产一定是一个非常重要的主角。我的暴论是,未来好的web3产品,一定要有好的资产逻辑。而资产很重要,一些微妙的资产逻辑不同,都会带来很大的区别。
要想精确的描述资产逻辑,你就必须要去学习ERC背后对资产的哲学抽象。
绝对不是说因为我要写代码,我才需要看ERC规范。而是恰恰相反,ERC规范的提出者,为了提出精妙的规范,他们大量思考了各种概念背后的哲学本质,抽象出了最关键的几个属性。
这个属性不仅可以帮助大家设计出代码上的规范,它同样也可以帮助你去拆解思考清楚资产逻辑本身。
避免一切模糊的概念,理解清楚关键细节后,你会发现世界是如此的清晰。
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
您可能感兴趣
-
SK海力士的最新财报,能成为存储芯片的救命稻草吗?昨晚,美股芯片板块再度遭遇惨烈抛售。SK海力士和美光双双重挫近9%,闪迪更是暴跌14%。这种跌幅本该足以登上财经头条,但如今甚至快让人产生"审美疲劳"了——芯片股大跌,正在从"新闻"变成"日常"。市场
-
中国光刻机也要进入DeepSeek时代?美股又要面临抛压了吗?昨晚,美股芯片板块再度遭遇惨烈抛售。 闪迪收跌11%,SK海力士跌逾7%,股价正式跌破149美元的IPO发行价。就连一向稳健的龙头英伟达,也大跌5%。 而今天上午,恐慌情绪蔓延过了太平洋——韩国股市再
-
当加密货币驶入「监管深水区」:为何合规阵痛是 Web3 走向全球普及的必经之路?近年来,全球加密货币市场似乎步入了一个前所未有的「强监管周期」。从今年 5 月英国针对部分头部加密货币交易所实施精准的资产冻结,到 7 月底欧盟正式祭出第 21 轮制裁方案并对多家加密平台实施广泛的交
-
交给曲线,别和周期对抗:宏观分析大师 Raoul Pal 的加密 10 年投资复盘作者:Raoul Pal,Real Vision 联合创始人兼 CEO 原标题:《Where Crypto Fits in the Exponential Age》 编译:胡韬,ChainCatche
-
Visa 最新研究: 1.1 亿笔交易背后,Agent 支付正在重构互联网商业作者:Tim Conard(Visa 链上数据负责人)、Lucas Shin(Artemis 数据与研究) 编译:佳欢,ChainCatcher 前言 Artemis 是链上数据领域的分析平台,Vis
-
CLARITY 法案的“最后一公里”为何走不通?作者|Odaily 星球日报 jk《数字资产市场结构法案》,(Digital Asset Market Clarity Act,即 CLARITY 法案)自 2025 年 7 月 17 日以 294
-
Bitget UEX 日报|伊朗突袭美军基地油价反弹;存储芯片继续重挫;苹果与微软、谷歌等稳健上涨 (2026年07月29日)一、热点要闻 美联储动态 决议前市场分歧显著,加息预期升温联邦基金利率期货未平仓合约激增至历史新高(周一达96.7万份),反映交易员对政策路径的巨大分歧。 CME数据显示,7月维持利率不变概率69.5
- 成交量排行
- 币种热搜榜
World Liberty Financial USDv
泰达币
比特币
以太坊
USD Coin
Solana
瑞波币
Ronin Network
币安币
莱特币
艾达币
狗狗币
大零币
Wormhole
比特现金
SHIB
UNI
OKB
AR
ICP
DOT
LUNC
YGG
DYDX
LPT
ETC