eth_erc

ERC

ERC,Etuereum Request for Comment。为了创建一个以太坊平台的标准,开发人员应当提交了一个以太坊改进方案(EIP),改进方案中包括协议规范和合约标准,一旦EIP被委员会批准并最终确定,它就成为ERC/Core

参考自连接

Final

  • ERC20

    代币标准化的一个起点。在Ethereum平台之上发布的大多数通证(token)都使用它。它定义了以下函数接口

    • totalSupply():返回代币供给总量
    • balanceOf(address _owner):返回_owner的帐户余额
    • transfer(address _to,uint256 _value):并将数量为_value的代币转入地址_to并触发transfer事件
    • transferFrom(address _from,address _to,uint256_value):将地址_from中的_value数量的代币转入地址_to ,并触发transfer事件
    • approve(address _spender,uint256 _value):允许_spender提取限额_value的代币
    • allowance(address _owner,address _spender):返回_spender可从_owner提款的代币数量上限

    以上函数将触发以下事件:

    • transfer(address indexed _from,address indexed _to,uint256 _value):每次进行代币转账时都会触发
    • approval(address indexed _owner,address indexed _spender,uint256 _value):调用approve()方法将触发该事件
  • ERC20的补充:

    • ERC223
    • ERC62, 加了两个额外的功能, increaseSupply和decreaseSupply, 这可以增加和减少流通中的令牌供应
    • ERC827,它允许转让Token并允许持有人允许第三方使用Token。 以太坊上的Token可以被其他应用程序重复使用,这其中也包括钱包和交易所。 当需要支持第三方动态消费限额调整时这一点非常有用。ERC827与ERC-20兼容。
  • ERC721

    描述了一个不可互换的Token,即每个Token是不同的,并且每个Token对不同的用户都有不同的价值。

    例子:CryptoKittes,每一个数字猫都是独立的,其价值取决于其稀缺性和用户的购买欲。

  • ERC55

    大小写混用的地址表示方法,通过这种表示方法表示的地址隐含了一个校验和(checksum)能够验证该地址的有效性。在此之前地址的表示为小写,加入这个之后地址可用大小写混合表示

  • ERC137

    Ethereum Domain Name Service (ENS)

    域名服务。地址-域名对应

  • ERC162

    Initial ENS Hash Registrar(ENS: 以太坊名称服务)。服务于137

    注册商负责为系统用户分配域名,并且是唯一能够更新ENS的实体; ENS注册中心节点的所有者是其注册商。注册商可能是合同或外部拥有的账户,但预计根和最高级注册商至少将作为合同实施。

    - EIP 137

    精心设计和管理的注册商对于EIP 137中描述的ENS的成功至关重要。故162则对注册商的管理协议

  • ERC165

    1
    用来验证这个合约是否实现了特定的接口。

    ERC165定义以下功能:
    1) 如何识别接口;
    2) 一个智能合约如何发布它执行的接口;
    3) 如何检测一个智能合约是否执行了ERC-165协议;
    4) 如何检测一个智能合约是否执行了一个给定的接口;

  • ERC181

    1
    ENS support for reverse resolution of Ethereum addresses

    ENS支持以太坊地址的反向解析

  • ERC190

    智能合约包管理标准, 提供包管理工具,提高代码的可重用性和安全性

  • ERC1167

    最小代理合约

    为了以不可变的方式简单且廉价地克隆合同功能,该标准规定了一个最小字节码实现,它将所有调用委托给已知的固定地址

  • 681

    交易请求URL格式

    表示各种交易的标准方式,尤其是Ethers和ERC#20令牌中的付款请求作为URL。

Draft

  • 1046

    扩展ERC20令牌接口以支持与ERC721令牌相同的元数据标准。

  • 1062

    将IPFS哈希形式化为ENS(以太坊名称服务)解析器

    将IPFS base58字符串映射到ENS解析器时,首先我们将Base58转换为二进制缓冲区,将缓冲区转换为十六进制加密格式,然后保存到合同中。一旦我们想要获取由特定ENS表示的IPFS资源地址,我们可以先找到以十六进制格式存储的映射信息,将十六进制格式提取到二进制缓冲区,最后将其转换为IPFS Base58地址字符串

  • 1066

    状态码。定义了适用于以太坊智能合约的广泛适用的状态代码。目前调用以太坊智能合约,返回状态要么revert需要人为干预,要么返回布尔通过/失败状态。该标准概述了与HTTP状态相同的一组共同的以太坊状态代码(ESC)。这提供了一组共享信号,允许智能合约自动响应情况,向用户公开本地化错误消息等。

  • 1077

    Executable Signed Messages refunded by the contract

    没怎么看懂..好像是允许第三方帮忙提交交易。如在现有的支付(如apple pay)上进行支付以太坊

  • 1078

    使用ENS子域名进行登录/注册

    使用这种方式的话,与auth令牌有点相似。子身份连接到现有身份

  • 1080

    允许实现扩展ERC-20或ERC-791的令牌的标准API。该标准提供了恢复被盗或丢失帐户的基本功能,以及提供令牌的退款。

  • 1081

    用于在以太坊上发行奖励的标准合同和界面,可用于任何类型的任务,在任何ERC20令牌或ETH中支付。

    为了鼓励以太坊奖金的跨平台互操作性,以及更容易的声誉跟踪,StandardBounties(1081)可以以公开可审计和不可变的方式促进资金管理,以换取与完成任务相对应的可交付成果。

  • 1123

    190(包管理)的修订版

  • 1129

    以太坊网络上DAPP和服务的公告标准化

  • 1132

    通过Token锁定功能扩展ERC20

    ERC20标准的扩展,具有在合同中对Token进行时间锁定的方法。

  • 1154

    oracle接口

  • 1155

    用于管理多个token类型的标准接口。单个部署的合约可以包括可替换token、不可替换token或其他配置(如,半可替换的token)。20是要求每个token单独部署合约,721是不可替换的token组合单独部署。1155则相当于20+721

  • 1175

    所有代币的钱包和商店标准(erc20)

    钱包与经过验证的合同创建的商店之间的相互信任允许您通过简单的流程支付和购买物品。

  • 1178

    多类令牌标准

  • 1185

    在ENS中存储DNS记录

    此EIP定义了ENS的解析程序配置文件,该配置文件提供用于存储和查找DNS记录的功能。这允许ENS用作权威DNS信息的存储。

  • 1191

    将链ID添加到混合大小写校验和地址编码

    该EIP通过可选地将EIP-155定义的链ID添加到校验和计算来扩展EIP-55。

  • 1202

    投票标准

  • 1271

    在合约中验证签名方法

  • 1261

    会员验证Token

    在智能合约中实现会员验证Token

  • 1207

    DAuth访问委派标准。智能合约之间的”OAuth”

  • 1203

    多级Token标准

    于1178有点类型,但似乎更有优势

  • 1319

    包注册表界面,1123的伴随者,定义了智能合约包清单的标准。

  • 1328

    WalletConnect标准URI格式。遵循831 URI格式

  • 1386

    认证管理合约

    管理其证明签名密钥以及针对诸如吊销和验证等操作的链外发布的证明。(有点像授权/取消授权)

  • 1387

    启用隐私的Merkle Tree认证

  • 1388

    证明发行人管理清单

    1386、1387、1388都是差不多的认证相关,作者也是一样

  • 1417

    投票标准。

    于1261(会员) 一起使用的投票标准

  • 1438

    dapp组建(头像)和通用钱包

    代码的重用性方向

  • 1444

    具有信号到文本的本地化消息传递。本地消息的可读文本。有几种机器有效的方式来表示意图,状态,状态转换和其他语义信号,包括布尔值,枚举和ERC-1066代码

  • 1450

    用于发行和交易符合SEC标准的证券的兼容安全令牌

  • 1462

    基本安全Token,提供符合证券法规和法律可执行性的要求。

  • 1484

    数字身份聚合

    用于聚合数字身份信息的协议,该协议可与现有的,提议的和假设的未来数字身份标准广泛互操作。在区块链上提出了身份管理和聚合框架

  • 173

    合约所有权标准

    允许获取合同的所有者地址并将合同所有权转移到不同的地址

  • 191

    提出了关于如何处理以太坊合同中的签名数据的规范

  • 205

    ENS支持合约abi

    在ENS中存储ABI定义的机制,以便呼叫者轻松查找合同接口

  • 725

    代理身份

    密钥管理和执行的代理合同,用于建立区块链身份。

  • 777

    Token合约的标准接口和行为

  • 801

    A standard interface for canary contracts.完全没懂

  • 820

    伪内省注册合约

    该标准定义了一个通用注册表智能合约,其中任何地址(合同或常规帐户)都可以注册它支持的接口以及哪个智能合约负责其实施。

    于165保持向后兼容

  • 823

    token交换标准

    Token合同的标准,提供token交换服务,从而促进交叉token支付。

  • 831

    以太坊的URI格式

-


Core

  • 158

    state clear,状态清除。定义了账户被删除的情况

  • 155

    简单的重放攻击保护。具体是修改签名或恢复时计算hash时的一些修改(加入链ID)

  • 150

    gas花费更改。

包管理

Token

  • 可/不可置换
  • 符合特定要求,如证券法规、地方法律..
  • 多种Token交叉支付

Auth

ENS