当前位置: 主页 > 区块链技术 > > 分析代币协议转账需要多少笔交易操作?

分析代币协议转账需要多少笔交易操作?

2024-02-15 10:12:46 | 来源:本站整理 | 作者:小爱
本文主要介绍了分析代币协议转账所需的交易操作数量的相关资料。从完成代币发送所需的交易数目角度看,ERC1363和ERC2612是更合适的选择,其中ERC2612比ERC1363更灵活。具体内容如下:提到以太坊,我们通常会想到“gas费”。如今,各大区块链项目主网上线,宣传方向往往也离不开gas这个词。高昂的gas费一直是区块链交易的一个痛点,尤其是对于投资者来说。随着区块链项目的增多和市场规模的扩

本文主要介绍了分析代币协议转账所需的交易操作数量的相关资料。从完成代币发送所需的交易数目角度看,ERC1363和ERC2612是更合适的选择,其中ERC2612比ERC1363更灵活。具体内容如下:

提到以太坊,我们通常会想到“gas费”。如今,各大区块链项目主网上线,宣传方向往往也离不开gas这个词。

高昂的gas费一直是区块链交易的一个痛点,尤其是对于投资者来说。

随着区块链项目的增多和市场规模的扩大,区块链上的交易数量和平均交易的Gas消耗也在增加。

近期,随着市场的波动以及主网升级、Layer2解决方案等因素,以太坊等区块链网络的gas费持续下降。

除了以上因素,是否可以从代码或智能合约设计的角度减少完成特定功能所需的交易数目,从而优化项目和整个区块链的交易成本和环境呢?

本文要介绍的主题是:对比可兼容最常见的代币协议ERC20的几种协议,包括ERC777、ERC1363和ERC2612。

本文将通过分析几种协议中代币转账操作所需的交易数目,帮助大家找到最优选择。

当前完成ERC20协议代币转账操作需要分两步:approve()和transfer()/transferFrom()。

因此,必须分成两个交易并支付两份Gas:第一个交易完成授权,第二个交易完成转账。

为了解决这个问题,目前主要提案有ERC777、ERC1363和ERC2612,其中前两者已经完善,ERC2612仍在优化阶段。

ERC20中的主要参与者是代币发送者(sender)和代币接收者(receiver)。

下文以Alice为代币发送者,Bob为代币接收者为例,展示操作的简要流程图。

ERC777尝试引入operator的概念来规避“两步走”的问题。

在被sender授权后,operator可以通过ERC777代币合约将代币发送给receiver。

在发送代币的交易中,sender无需支付gas,发送代币交易的gas由operator支付。

ERC1363引入了启发自ERC20的高级函数:approveAndCall()、transferAndCall()和transferFromAndCall()。

这些函数可以在完成approve()、transfer()或transferFrom()后,继续执行spender地址处智能合约的onApprovalReceived()方法,以及receiver地址处智能合约的onTransferReceived()方法。

通过这种方式,将approve和transfer或其他任何spender或receiver想要执行的代码链接成一个交易。

ERC2612采用了用户签名的方式进行approve,签名中包含了approve的地址和额度。

用户通过向ERC2162标准的合约提交该签名,然后ERC2162标准的合约通过验证该签名,从中获取approve的地址和额度,并在验证成功后直接触发transferFrom操作,从而解决“两步走”的问题。

经过对比,我们发现从完成代币发送所需的交易数目角度看,ERC1363和ERC2612是更合适的选择,其中ERC2612比ERC1363更灵活。同时,ERC777、ERC1363和ERC2612都兼容ERC20类型合约,因此不存在兼容性问题。

随着区块链智能合约项目的增多,单个区块内等待交易的总数也在增

本站提醒:投资有风险,入市须谨慎,本内容不作为投资理财建议。