干货科普:常见代币协议转账都需要多少笔交易操作?
文章图片
免责声明:本文旨在传递更多市场信息 , 不构成任何投资建议 。 文章仅代表作者观点 , 不代表火星财经官方立场 。
小编:记得关注哦
来源:CertiK
文章图片
提到以太坊 , 我们脑海中出现的第一个关键词也许就是“gas费” 。 如今各大区块链项目主网上线 , 所用的宣传方向往往也离不开gas这个单词 。 居高不下的gas费一直是区块链交易 , 尤其是游走于币圈各个领域的投资者的一个痛点 。 随着区块链项目的增多以及市场规模的扩大 , 区块链上的交易数目以及平均交易的Gas消耗也随着增加 。
文章图片
Gasnow中Gas价格历史数据
近期 , 随着市场的起起落落以及主网升级、Layer2解决方案等因素 , 以以太坊为首的区块链网络gas费持续下降 。 那么除了以上因素以外 , 是否可以从代码或者智能合约设计角度去减少完成特定功能必须的交易数目 , 从而优化项目以及整个区块链的交易成本和环境呢?今天本文要为大家介绍的就是这一主题:对比可兼容最常见的代币协议ERC20的几种协议 , 包括ERC777,ERC1363以及ERC2612 。
本文将通过分析几种协议中代币转账操作所需要交易数目 , 帮助大家发现其中的最优选择!
ERC20
当前完成ERC20协议代币的转账操作需要分两步:approve以及transfer/tranferFrom 。
因此必须分成两个交易并支付两份Gas:即第一个交易完成授权 , 第二个交易完成转账 。 为了解决“两步走”的问题 , 当前主要提案有ERC777,ERC1363以及ERC2612 , 其中前两者已经完善 , ERC2612仍在优化阶段 。 ERC20中主要的参与者为代币发送者sender以及代币接收者receiver 。
下文中将以Alice为代币发送者sender , Bob为代币接收者receiver为例 , 为大家直观展示操作简要流程图 。
文章图片
ERC20代币转账操作简要流程图
ERC777
ERC777尝试引入operator的概念来规避掉“两步走”的问题 。 operator在被sender授权之后 , 在该ERC777代币合约中 , sender可通过operator将代币发送给receiver 。 在发送代币的交易中 , sender无需支付gas , 发送代币交易的gas会由operator支付 。
文章图片
ERC777代币转账操作简要流程图
ERC1363
ERC1363引入启发自ERC20中approve,transfer和tranferFrom的高级函数:approveAndCall , transferAndCall和transferFromAndCall 。
这些函数可以帮助ERC1363协议合约在完成approve , transfer或tranferFrom之后 , 继续执行spender地址处智能合约的onApprovalReceived方法 , 以及receiver地址处智能合约的onTransferReceived方法 。 通过这样的方式来将approve和transfer或者其他任何spender或者receiver想要执行的代码链接起来成为一个交易 。
文章图片
ERC1363代币转账操作简要流程图
ERC2612
ERC2612采用了用户签名的方式进行approve , 签名中包含了approve的地址以及额度 。
用户通过向ERC2162标准的合约提交该签名 , 然后ERC2162标准的合约通过验证该签名 , 从该签名中获得approve的地址以及额度 , 并且在验证成功之后使用验证获得的信息直接触发transferFrom操作 , 从而最终解决“两步走”的问题 。
文章图片
- CPU|电脑硬件选购技巧之CPU散热,性价比干货,土豪回避
- 财智干货|数智化发展任重道远,财务中台提升数据服务价值 | 大数据
- 这很可能是有史以来,中国最酷的化学科普作品|梁琰
- 首发小魏同学2.0车机形象 智能车控手表 魏牌用户粉丝节干货满满
- 半导体|晶闸管是什么? 四种常见晶闸管类型介绍
- 这些常见的电容器你认识几种?
- 灰度测试|干货分享︱线下零售新机遇——品牌私域化五步走
- 现金|四川大妈捡到1.5亿现金支票 网友直言捡钱界天花板:科普什么是现金支票
- 科普|官方科普:一图读懂欧拉开源操作系统
- 芯片|电子工程师会犯的29个常见错误!