
提到以太坊,我们脑海中的第一个关键词可能是“GAS FEE”。如今,大区块链项目的主要网络是在线的,所使用的宣传方向往往与gas这个词分不开。高昂的GAS FEE用一直是区块链交易的痛点,尤其是在币圈所有领域游荡的投资者。随着区块链项目的增加和市场规模的扩大,区块链上的交易数量和平均交易的用气量也在增加。

GAS历史数据
最近,随着市场的起伏、主网升级、二层解决方案等因素,以以太坊为首的区块链网络GAS FEE持续下降。除了上述因素外,我们能否从代码或智能合约设计的角度减少完成特定功能所需的交易数量,从而优化项目和整个区块链的交易成本和环境?今天,本文将向您介绍这个主题:比较几种与最常见的代币协议erc20兼容的协议,包括erc777、erc1363和erc2612。
本文将通过分析几种协议代币传输操作所需的交易数,帮助您找到**选择!
ERC20
目前,完成erc20协议代币的转移有两个步骤:approve()和transfer()/transferfrom()。
因此,必须将其分为两个交易并支付两种气体:第一个交易完成授权,第二个交易完成转移;为了解决“两步走”问题,目前的主要方案包括erc777、erc1363和erc2612。前两个已经改进,erc2612仍处于优化阶段。erc20的主要参与者是代币发送者和代币接收者。
下面,我们将以Alice作为代币发送方,Bob作为代币接收方为例,向您展示简单的操作流程图。

Erc20代币转移操作简要流程图
ERC777
Erc777试图引入运算符的概念,以避免“两步”问题。操作员获得发送方授权后,发送方可以通过erc777代币合同中的操作员向接收方发送代币。在发送代币的交易中,发送方不需要支付gas,发送代币交易的gas将由运营商支付。

erc777代币转移操作简要流程图
ERC1363
Erc1363引入了受erc20中approve()、transfer()和TransferFrom()启发的**函数:approveandcall()、transferandcall()和transferfromandcall()。
这些函数可以帮助erc1363协议约定在批准()、传输()或传输自()后,在支出方地址继续执行智能约定的ApprovalReceived()方法,在接收方地址继续执行智能约定的ontransferreceived()方法。通过这种方式,approve and transfer或任何其他支出者或接收者想要执行的代码都链接到一个事务中。

Erc1363代币转移操作简要流程图
ERC2612
Erc2612采用用户签名进行审批。签名包括批准的地址和金额。
用户向erc2162标准合同提交签名,erc2162标准合同对签名进行验证,从签名中获取审批地址和额度,验证成功后,利用验证获得的信息直接触发转出操作,从而最终解决“两步走”问题。

Erc2612代币转移操作简要流程图
写在末尾
在比较这些类的协议后,我们发现从完成代币传输所需的交易数的角度来看,erc1363和erc2612必须是更合适的选择,并且erc2612比erc1363更灵活。同时,erc777、erc1363和erc2612与erc20合同兼容,因此不存在兼容性问题。

随着区块链智能合约项目的增加,单个区块中生成的等待交易总数增加。
如果通过协议代码级别可以减少需要打包到区块中以完成功能的等待交易总数,这将对区块链上的平均交易速度和平均GAS成本有很大帮助。
交易成本和环境的优化不仅会促进区块链网络的繁荣,而且会改善区块链生态和基础设施。
文章标题:认识常见代币协议转账所需的交易数
文章链接:https://www.btchangqing.cn/311738.html
更新时间:2021年08月13日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。