以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > MEXC > Info

NFT:源碼解讀:以太坊新標準EIP-4907是如何實現NFT租賃的?

Author:

Time:1900/1/1 0:00:00

內容概要

在這周,NFT?租賃市場DoubleProtocol提交的可租賃NFT標準“EIP-4907”通過了以太坊開發團隊的最終審核,成為第30個ERC標準“Final”的狀態。

讓我們一起來閱讀這極簡的源代碼,來縷清其他是如何實現NFT租賃的?

為什么需要租賃?

NFT的爆發毋庸置疑,而伴隨普及引發了對其資產實用性的需求,尤其是在元宇宙和邊玩邊賺(P2E)的場景下,僅僅單純的資產所有權并不足以支撐更多的應用玩法的誕生。

一直的痛點是供給不平衡,導致的好項目少,浮于金融玩法的韭菜項目多,既然如今web3有大量web2行業精英在涌入,也必然需要快速的新標準推出,來將創造力的供給釋放。

巴西電力交易公司Urca Trading通過基于電力合約的Token出售完成約120萬美元融資:金色財經報道,巴西可再生能源公司 Urca 旗下電力交易子公司 Urca Trading 宣布通過出售 6 萬枚合約支持的加密 Token 完成了 600 萬雷亞爾(約 120 萬美元)的融資,創造了巴西歷史上規模最大的一次“能源 Token 化”融資交易。Urca 聯合創始人 Pedro Assumpcao 表示,他們的想法是創造一種類似于銀行存款證明的產品,Token 化合約可能是構建一般商品合約的一種新方式,每個 Token 由AAA 級和 AA 級電力合約應收賬款支持,該公司還打算研究推出新的加密 Token,例如模擬衍生品投資產品等。( argusmedia )[2023/1/28 11:33:30]

NFT流動性的緊缺,使得他風風火火的同時也備受詬病,他之前產權一體化的金融化操作,市場各類安全問題欺詐、剽竊、釣魚、跑路、資產被盜層出不窮。

Decentraland創始人Ordano和Meilich加入了Genesis債權人名單:金色財經報道,Decentraland的高管和創始人中,有三位進入了對Genesis Global的50個最大的非內部人士無擔保索賠名單。Decentraland聯合創始人Esteban Ordano現在擔任顧問,他被列為一家名為Winah Securities的實體的聯系人。Genesis欠Winah將近2700萬美元。游戲公司Big Time Studios被拖欠2000萬美元。它由Decentraland的另一位聯合創始人Ari Meilich運營。他在2020年創辦了Big Time,但仍是一名Decentraland顧問。[2023/1/21 11:24:33]

而Eip-4907,想要解決的就是分離NFT的資產價值和使用價值,釋放出NFT的市場流動性

跨鏈預言機解決方案SupraOracles與Morpheus Network達成合作:據官方消息,跨鏈預言機解決方案SupraOracles宣布與供應鏈SaaS中間件平臺Morpheus Network達成合作。

該平臺可以連接到多個獨立的系統,并根據預先確定的情況觸發操作,允許用戶自動化和優化他們的手動操作以減少誤操作。該平臺的基本功能是構建一個模塊化、適應性強的供應鏈流程和工作流。它將支付、倉儲、運輸、文檔和制造等看似獨立的系統和層統一到一個源中,從而實現從頭到尾的完全透明和過程自動化。[2022/6/30 1:40:25]

源碼解讀

由于Eip4907極其簡單,因此對代碼的解讀無論是否技術同學均可來嘗試理解其細節設計。

2.1、實現原理:

FTX 創始人SBF已在捐贈承諾平臺Giving Pledge簽署捐贈誓言:6月2日消息,FTX 創始人 SBF 已在捐贈承諾平臺 Giving Pledge 簽署捐贈誓言,承諾將大部分財富用于慈善事業。

據悉,Giving Pledge 成立于 2010 年,由微軟創始人比爾·蓋茨與投資人巴菲特共同創立,旨在鼓勵超級富豪做出更大的捐贈。迄今為止,該承諾共有來自 28 個不同國家的 230 個簽署者,包括扎克伯格、馬斯克等。(Coindesk)[2022/6/2 3:57:26]

他作為ERC-721的擴展,?EIP-4907增加了一個變量UserInfo,讓應用可以查詢此NFT當前被租出去的目標地址“user”和出租時間”expires"。如果發現已經超出出租時間,則租賃關系宣告失效。

代碼極為簡單僅有72行,使用這個標準,就是在原來的ERC721之上新增

1個事件

3個方法

分別是

UpdateUser事件:當NFT轉移,租賃校色設置時,發出租賃用戶改變的通知

setUser方法:NFT所有者授權者可用,設置此NFTID的出租用戶和過期時間

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

userExpires方法:任何人可用,查詢此NFTID的過期時間

2.1、數據結構:

理解ERC標準協議的最佳方式就是理解他管理數據的最底層數據結構

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

其實NFT只是通過2個映射,即一種字典形式的key-value對應關系的存儲結構去記錄數據

而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過去爆發或是得益于金融操作,但是好的生態不能只是金融價值,還需要更有商業價值,需要更廣大的用戶融入于生活生產形成價值閉環,貨幣終究只是手段而不是目的本身

引用:

https://github.com/ethereum/EIPs/blob/master/EIPS/eip-4907.md

前文回顧

OpenSea免費創造的NFT都沒上鏈竟能出現在我的錢包里?

你買的NFT到底是什么?

EIP-5058能否防止NFT項目方提桶跑路?

當我們在看Etherscan的時候,到底在看什么?

當奈飛的NFT忘記了web2的業務安全

Tags:NFTUSESERTRANFTBombYUSESeratio TokenUltraman Tiga

MEXC
STARK:零知識證明將賦能擴容與隱私計算

2021年Vitalik曾在一篇文章中講:Perhapsthemostpowerfulcryptographictechnologytocomeoutofthelastdecadeisgener.

1900/1/1 0:00:00
COM:XT.COM關於恢復WELUPS充提的公告

尊敬的XT.COM用戶:WELUPS錢包升級維護已完成,XT.COM現已恢復WELUPS充提業務.

1900/1/1 0:00:00
DOG:AOFEX關於開通GXC永續合約的公告

尊敬的用戶: AOFEX將於2021年12月3日19:00開通GXC永續合約,均支持5倍、10倍、20倍、50倍、75倍杠桿.

1900/1/1 0:00:00
BAS:關于盜幣/非法獲取他人的虛擬幣被轉入XinBiPro平臺的處理方法

1、受害人或者舉報人必須在XinBiPro平臺實名認證,保證所提供信息合法,無造假,捏造事實,誣陷他人等行為.

1900/1/1 0:00:00
CoinW將于7/7 18:00上線 OLE(OpenLeverage). 2,000 美金OLE 限時領取!并于20:00在ETF專區上線OLE4S/USDT、 OLE4L/USDT ETF產品

親愛的CoinW用戶: 幣贏CoinW將于2022/7/718:00在Defi區上線OpenLeverage,開通OLE/USDT交易對.

1900/1/1 0:00:00
EXC:MEXC關於ETF產品TNS3L進行份額合並的公告

尊敬的用戶: 由於杠桿ETF產品TNS3L的單價低於0.1USDT,觸發了MEXC杠桿ETF產品份額合並機製.

1900/1/1 0:00:00
ads