Blur.io Gas消耗分析
blur的gas消耗好像挺高的,打算尝试看看为什么,分析一下opensea、blur和suduswap的产品逻辑和gas消耗的情况。
这里只比对产品自身的交易方式,不对比聚合器的形式。从一个简单的撮合交易中,交易自身逻辑(剔除nft和token的转账)所消耗的gas大概为:blur消耗为180k,opensea为84k,sudoswap为60k。
0x01
0x02
在blur的合约中有个oracle的角色,而且对于买卖两个单子都有一个额外的extraSignature,是由oracle签的,等于要多验签两次。我理解这个应该是项目方的签名,来避免直接绕过前端来发起合约调用。不确定理解是不是正确,欢迎拍砖讨论
0x03
opensea最新版本的协议的seaport合约,使用了大量的汇编,对输入内容的压缩优化做的比较好,可以作为性能对比的对照基准
0x04
sudoswap是完全不同于其他nft marketplace的交易方式。挂单用户实际上是要建立一个单独的合约作为池子来存放NFT或者ETH,好在这个合约是用了最小代理,不是很消耗gas。所以在吃单的时候,就使用预设的价格计算公式进行计算,少了很多检查的逻辑,甚至没有验证签名,所以比较节约gas