内容概要
在这周,NFT?租赁市场DoubleProtocol提交的可租赁NFT标准“EIP-4907”通过了以太坊开发团队的最终审核,成为第30个ERC标准“Final”的状态。
让我们一起来阅读这极简的源代码,来缕清其他是如何实现NFT租赁的?
为什么需要租赁?
NFT的爆发毋庸置疑,而伴随普及引发了对其资产实用性的需求,尤其是在元宇宙和边玩边赚(P2E)的场景下,仅仅单纯的资产所有权并不足以支撑更多的应用玩法的诞生。
一直的痛点是供给不平衡,导致的好项目少,浮于金融玩法的韭菜项目多,既然如今web3有大量web2行业精英在涌入,也必然需要快速的新标准推出,来将创造力的供给释放。
NFT流动性的紧缺,使得他风风火火的同时也备受诟病,他之前产权一体化的金融化操作,市场各类安全问题欺诈、剽窃、钓鱼、跑路、资产被盗层出不穷。
美股三大指数收盘涨跌不一,标普500指数平收:金色财经报道, 美股三大指数收盘涨跌不一,纳指涨0.32%,标普500指数平收,道指跌0.15%。大型科技股多数上涨。[2023/5/31 11:49:24]
而Eip-4907,想要解决的就是分离NFT的资产价值和使用价值,释放出NFT的市场流动性
源码解读
由于Eip4907极其简单,因此对代码的解读无论是否技术同学均可来尝试理解其细节设计。
2.1、实现原理:
他作为ERC-721的扩展,?EIP-4907增加了一个变量UserInfo,让应用可以查询此NFT当前被租出去的目标地址“user”和出租时间”expires"。如果发现已经超出出租时间,则租赁关系宣告失效。
代码极为简单仅有72行,使用这个标准,就是在原来的ERC721之上新增
域名boredapes.eth以6.9 ETH成交:1月26日消息,据NFTGo数据显示,以太坊域名“boredapes.eth”以6.9ETH成交(约合10,603.4美元),卖家为walshy.eth,买家为jameslikesart.eth。[2023/1/26 11:30:55]
1个事件
3个方法
分别是
UpdateUser事件:当NFT转移,租赁校色设置时,发出租赁用户改变的通知
setUser方法:NFT所有者授权者可用,设置此NFTID的出租用户和过期时间
userOf方法:任何人可用,查询此NFTID的出租用户
userExpires方法:任何人可用,查询此NFTID的过期时间
加密货币总市值回升至8449.78亿美元:金色财经报道,12月24日,据Coingecko数据显示,当前比特币市值占比回升至38.3%,全网加密货币总市值为844,978,679,376美元,24小时涨幅1.4%。[2022/12/24 22:04:51]
2.1、数据结构:
理解ERC标准协议的最佳方式就是理解他管理数据的最底层数据结构
例如:前文你买的NFT到底是什么?
其实NFT只是通过2个映射,即一种字典形式的key-value对应关系的存储结构去记录数据
区块链开发公司EvaCodes完成50万美元融资:7月27日消息,区块链开发公司EvaCodes完成50万美元融资,hypra fund等参投。(Globe News Wire)[2022/7/27 2:41:18]
而Eip-4907则是新增了一个数据对象UserInfo在所有权的概念之外增加“用户”的维度
数据结构简单,就意味着管理的方法实现也非常简单
2.2、设置用户setUser方法
设置用户仅有3个步骤
加密货币高管推出 Web3 投资公司 Tangent:金色财经报道,Jason Choi 和 Daryl Wang 是亚洲两家主要投资公司的两位前加密高管,他们正在推出自己的基金来支持 Web3 项目。
这家名为 Tangent 的新公司每个季度都将“时间和资金投入到少数几家 Web3 公司作为天使投资人”。据彭博社报道,该公司不会接受外部资金或收取管理费。该公司每季度将与 2 到 5 个早期加密项目合作,“使用未公开的小型专有资本池”。
Choi 之前是 Spartan Capital 的普通合伙人,Wang 之前是新加坡 DeFiance Capital 的负责人。(the block)[2022/7/6 1:53:15]
此交易的发起者其是否持有此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过去爆发或是得益于金融操作,但是好的生态不能只是金融价值,还需要更有商业价值,需要更广大的用户融入于生活生产形成价值闭环,货币终究只是手段而不是目的本身。
近日,Paradigm研究合伙人DanRobinson在推特上表示:事实证明,如果没有区块链奖励,就不可能拥有安全的POW区块链,并发起了一项“你更愿意比特币如何改变”的投票.
1900/1/1 0:00:00头条▌肯尼亚是非洲拥有加密货币公民比例最高的国家金色财经报道,根据联合国贸易和发展会议(UNCTAD)最新政策简报的数据,肯尼亚拥有数字货币占人口的比例为8.5%,是非洲最高的,全球第五高.
1900/1/1 0:00:00金色财经报道,据北京时间7月6日晚间消息,以太坊Sepolia测试网已完成合并。这是以太坊主网合并前的测试工作之一,Sepolia测试网是运行PoW的Ethash算法的测试网,其使用的EVM版本.
1900/1/1 0:00:00北京时间2022年7月3日,CertiK安全团队监测到Solana链上的CremaFinance项目遭到黑客攻击,损失约880万美元.
1900/1/1 0:00:00金色财经挖矿数据播报 | BCH今日全网算力上涨16.85%:金色财经报道,据蜘蛛矿池数据显示: ETH全网算力184.523TH/s,挖矿难度2339.03T,目前区块高度10125798.
1900/1/1 0:00:00L2需要做好充足准备以迎接用户的到来,不能低估了用户的参与程度和高估了网络性能。北京时间6月29日晚,在Arbitrum奥德赛活动第二阶段启动的第一天,由于链上的繁重负载导致高于正常的gas费用.
1900/1/1 0:00:00