源码解读:以太坊新标准EIP-4907是如何实现NFT租赁的?

内容概要

在这周,NFT?租赁市场DoubleProtocol提交的可租赁NFT标准“EIP-4907”通过了以太坊开发团队的最终审核,成为第30个ERC标准“Final”的状态。

让我们一起来阅读这极简的源代码,来缕清其他是如何实现NFT租赁的?

为什么需要租赁?

NFT的爆发毋庸置疑,而伴随普及引发了对其资产实用性的需求,尤其是在元宇宙和边玩边赚(P2E)的场景下,仅仅单纯的资产所有权并不足以支撑更多的应用玩法的诞生。

一直的痛点是供给不平衡,导致的好项目少,浮于金融玩法的韭菜项目多,既然如今web3有大量web2行业精英在涌入,也必然需要快速的新标准推出,来将创造力的供给释放。

NFT流动性的紧缺,使得他风风火火的同时也备受诟病,他之前产权一体化的金融化操作,市场各类安全问题欺诈、剽窃、钓鱼、跑路、资产被盗层出不穷。

去中心化交易协议Clipper宣布将向社区分发300万枚COLLAB代币:6月24日消息,去中心化交易协议Clipper宣布,在Collab.Land向社区拨款活动中,Clipper成为了排名第4的社区。为此,Clipper准备了近300万枚COLLAB代币,以分发给忠实的社区。[2023/6/24 21:57:00]

而Eip-4907,想要解决的就是分离NFT的资产价值和使用价值,释放出NFT的市场流动性

源码解读

由于Eip4907极其简单,因此对代码的解读无论是否技术同学均可来尝试理解其细节设计。

2.1、实现原理:

他作为ERC-721的扩展,?EIP-4907增加了一个变量UserInfo,让应用可以查询此NFT当前被租出去的目标地址“user”和出租时间”expires"。如果发现已经超出出租时间,则租赁关系宣告失效。

美财政部官员:美国的银行挤兑事件不应归咎于加密行业:金色财经报道,美国财政部负责国内金融事务的副部长Nellie Liang表示,加密行业不应该为硅谷银行(SVB)和Signature Bank的挤兑事件负责。她在周三众议院金融服务委员会的听证会上表示,不认为加密货币在这两起银行破产事件中发挥了直接作用。当被问及数字资产是否是一个间接因素时,她指出Signature在该领域特别活跃,但她没有提供进一步的细节。联邦存款保险公司(FDIC)主席Martin Gruenberg此前曾表示,截至2022年底,Signature约五分之一的存款与加密客户有关。[2023/3/30 13:34:07]

代码极为简单仅有72行,使用这个标准,就是在原来的ERC721之上新增

1个事件

3个方法

分别是

DAO聚合器The PASS和MeebitsDAO达成合作,用户可解锁全面DAO数据:1月21日消息,DAO聚合器The PASS宣布和MeebitsDAO达成合作, 旨在共同建立一个更加透明的DAO国库追踪生态系统。MeebitsDAO 代表了 Meebits 持有者和爱好者的 DAO 组织,致力于扶持 Meebits 生态发展。The PASS 提供了一个完整的 DAO 身份体系,涵盖 DAO 介绍/社交信息,国库追踪(NFT 和 FT),投票治理等诸多维度聚合,这旨在为用户在探索 DAO 过程中提供流畅的体验和深入的财资数据,从而降低行业进入门槛。[2023/1/21 11:25:03]

UpdateUser事件:当NFT转移,租赁校色设置时,发出租赁用户改变的通知

setUser方法:NFT所有者授权者可用,设置此NFTID的出租用户和过期时间

Alameda联席CEO回应CZ:愿意以22美元价格购买CZ计划出售的FTT:金色财经报道,Alameda Research联席CEO Caroline Ellison在推特上回应赵长鹏(CZ)称,如果您希望将市场对您的FTT销售的影响降到最低,Alameda今天很乐意以22美元的价格从您那里购买。

此前,赵长鹏称要卖出账上所有FTT。[2022/11/7 12:24:07]

userOf方法:任何人可用,查询此NFTID的出租用户

userExpires方法:任何人可用,查询此NFTID的过期时间

2.1、数据结构:

理解ERC标准协议的最佳方式就是理解他管理数据的最底层数据结构

例如:前文你买的NFT到底是什么?

其实NFT只是通过2个映射,即一种字典形式的key-value对应关系的存储结构去记录数据

英国央行市场事务执行主管:数字货币可能会改变货币政策的传导机制:6月1日消息,英国央行市场事务执行主管Andrew Hauser表示,数字货币可能会使得央行资产发生转移,英国央行是否应该创建数字货币的问题超出了今天评论的范围,央行数字货币对央行资产负债表的影响很大程度上取决于其设计,稳定币持有者必须接受损失惨重的可能性,如果稳定币系统化,作出“买家注意”的警示还不足够,数字货币可能会改变货币政策的传导机制。像英国这样的系统,数字货币可能会导致一些银行增加从市场范围内的贷款。 (金十)[2022/6/2 3:57:11]

而Eip-4907则是新增了一个数据对象UserInfo在所有权的概念之外增加“用户”的维度

数据结构简单,就意味着管理的方法实现也非常简单

2.2、设置用户setUser方法

设置用户仅有3个步骤

此交易的发起者其是否持有此NFTid或是有Approved自动扣款权利

设置UserInfo中用户的用户地址和到期时间

发出设置成功的UpdateUser事件

2.3、查询NFTid的用户信息

媒体处处宣传的超时自动失效,而无需二次链上交易登记失效节约gas的逻辑就在这了。

查询的逻辑很简单,按指定的NFTID查询_users的user信息即可,但他增加了,if判断,当前块的时间block.timestamp是否会超过设置的过期时间expires,所以此查询仅在时间内有效。

2.3、查询NFTid的用户过期时间信息

此处无需类似user查询时候判断是否过期,因为得知上一次过期时间,也是加快NFT用户使用率的一种方式。

2.4、租赁关系的强制性设计

此eip4907的协议,对标准交易方法Transfer增加了一部分内容,通过_beforeTokenTransfer实现,就是强制在进行Transfer交易转移后就删除掉这部分对用户的信息,并且发出事件通知已经用户失效了。

总结

没想到吧,这么快就代码讲完了,因为确实他写完了,对的,不像是之前的通过限制转移权的方法EIP-5058,见前文

其实他EIP-4907只是多了个变量,并称之为租赁用户而已,可以声明,但是其他应用认不认就是另一码事了,毕竟其强制性有限,转移就能强行终止出租授权

当然你或许会问,为什么这么简单反而火速成为了难得一见,且每次都能掀起一番波浪的Final标准呢?

这也就是web3的哲学:越简单,越优雅,剩下的交给共识。

我个人认可这样的哲学与趋势

web3过去爆发或是得益于金融操作,但是好的生态不能只是金融价值,还需要更有商业价值,需要更广大的用户融入于生活生产形成价值闭环,货币终究只是手段而不是目的本身。

来源:金色财经

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

银河链

[0:0ms0-2:847ms