理解ERC20代币合约

ERC20代币合约可以说在发币中算是听到非常多的一个名词了,说到发币都会想到这个合约。本文我们就谈谈如何理解ERC20代币合约。

有关ERC20标准可以参考官方文档,可以说比较抽象,使用Solidity描述的ERC20的接口。

ERC-20最初作为一种尝试,旨在为以太坊(Ethereum)上的token合约提供一个特征与接口的共同标准,并且,它现在已经被证明是非常成功的了。ERC-20有很多好处,包括允许钱包显示数以百计不同token的账户余额;创建一个交易工具,只需提供token合约的地址就可以将更多token列入表中。创建ERC-20兼容token的好处很多,以至于在今天,很少有其他token合约用其他方式创建。

什么是代币(token)合约

目前依旧有“代币(token)合约到底是什么”的争论。本质上来说,一个代币合约就是一个包含了一个对账户地址及其余额的映射的智能合约。账户余额表示一种由合约创建者定义的值:一个代币合约也许使用余额来表示物理对象,或是表示另一种货币价值,还可以表示持有人的名望。余额的单位通常被称为token。

代币余额的地址列表

当token从一个账户被转移到另一个账户的时候,代币合约更新两个账户的余额。例如,从 0x2299…3ab7 转移到 0x1f59…3492 10个token将导致余额列表如下图所示进行更新:

从0x2299…3ab7 发送10枚token给 0x1f59…3492; 变化部分用红色标出

如果该token合约允许的话,改变token总体数量有两种方案。token的总数可以通过铸造新token来增加。举个例子,铸造出100个token到地址 0x4ba5…ae22 余额变更如下图所示:

铸造100枚token给0x4ba5…ae22; 变化部分用红色标出

也可以通过“销毁”减少token总量,比如,0x4919…413d 销毁50枚token将导致余额如下方式变化:

销毁 0x4919…413d 上的50枚token; 变化部分用红色标出

销毁token的另一种方式是将token发送到一个未创建私钥的地址,通常来说就是0地址。这会使得这些token不可用,在这方面,它与销毁token有同样的效果,但并没有减少token的总数。比如, 0x93f1…1b09 用此种方式销毁了50枚token将导致如下图所示的余额:

0x93f1…1b09 发送50枚token到黑洞地址上; 变化部分用红色标出

简单的代币合约在一个从地址到余额的映射中保存上述信息。当更多复杂的情景出现时,比如分红,替代性结构或者增补性结构往往更强一些。但是,不管操作上的细节的话,对外部可见的token余额总是像上面的图示那样的。

ERC20代币合约的定义

ERC20 合约是通过合约的地址以及可用的token总数来定义的,但通常还提供一些可选项目,也是为用户提供更多细节。比如token的名字符号小数位等等。

在深入了解之前,必须明确一点:代币合约没有中心化的登记处,因此无法保证特定名字和符号的唯一性。一旦你创建了一个代币合约,你应该申请将它加入公共站点,如Etherscan,MyEtherWallet 以及 CoinMarketCap。当然,确保符合网站上的说明,可以最大限度提高申请被接受的机会。

代币合约的名字是代币的完整名称,比如“My token”。名字长度没有限制,但是太长的话在某些钱包应用中可能显示不完整,所以最好保持名字的简洁。

代币合约的符号是代币的符号,比如“MYT”。大体相当于股票行情自动收录机。尽管没有长度限制,但通常都是三四个字符长度。

小数位这个概念通常容易混淆,通过解释还是很容易理解的。小数位代表一个token的可分割程度,小数位可取值从0(完全不可分割)到18(几乎是连续的),甚至还可以更高。技术上讲,小数位的数字就是显示在屏幕上小数点后面跟着的数字。存在小数位的意义在于以太坊不处理小数,将所有的数字价值都当做整数处理。

总发行量是ERC20代币合约最后定义的项,而且是唯一一个强制参数。尽管在ERC20标准中没有明确规定,但是定义总发行量十分简单:总发行量等于所有余额的总和。总发行量在上面的例子中已经给出,无须赘述。

参考原文: https://medium.com/@jgm.orinoco/understanding-erc-20-token-contracts-a809a7310aa5 在原文基础上做了翻译和部分理解内容。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270