banner
DIYgod

Hi, DIYgod

写代码是热爱,写到世界充满爱!
github
twitter
bilibili
telegram
email
steam
playstation
nintendo switch

💡 Unidata - 提供人類友好的 Web3 數據的便捷訪問

Web3 的魅力在於數據屬於用戶自己,但由於區塊鏈低效的效率和設計,再加上數據格式標準的缺失,訪問和展示自己或用戶的 Web3 數據是一件極度困難的事情。所以我做了開源項目 Unidata,給 Web3 開發者提供人類友好的 Web3 數據的便捷訪問。

Ethereum NFT 數據是目前 Web3 最常使用的數據,所以我使用 Ethereum NFT 來举例。

  1. Ethereum NFT 使用 EIP-721 標準,它的數據格式非常 “靈活”,比如一個 NFT 的圖片可能根據發布者不同的喜好使用 image image_urlanimation_url 等各種不統一的字段,甚至根本不是一個圖片,還可能是視頻、3D 模型等,這給前端展示帶來了很多麻煩。

  2. 獲取一個地址擁有的全部 Ethereum NFT 也非常麻煩,由於 Ethereum 的設計,想要獲取它需要讀取這個地址的全部交易記錄,而且 Ethereum 不止主網,還有 Polygon、BSC、Arbitrum、fantom、Gnosis 等各種側鏈,這對前端是一個不可能的工作,目前各種各樣的數據索引服務可以部分解決這個問題,但這些服務返回的數據格式各不相同、功能各有優劣、各支持了不同的鏈,應該如何選擇呢?

針對第一個問題,Unidata 設計了一系列友好和統一的數據格式,分為 Profiles、Links、Assets、Notes 四個部分。Ethereum NFT 屬於 Assets 的格式。通過 Unidata 返回的固定的數據格式,前端不再需要做麻煩的適配混亂的數據格式的工作。

另外值得一提的是不止 Ethereum NFT,Unidata 目前還支持了 Solana NFT,Ethereum NFT 和 Solana NFT 的數據格式也是統一的,Unidata 還將繼續支持更多的 Assets 來源,他們的格式也都會是統一的。

解決完第一個問題,第二個問題也就很容易解決了。Unidata 的做法是把各個服務返回的數據統一成相同的格式並做聚合。比如 OpenSea 服務支持了主網,Alchemy 服務支持了 Polygon,Moralis 服務支持了 BSC、Arbitrum、fantom,POAP 服務支持了 Gnosis 鏈的 POAP NFT。通過 Unidata 一行代碼就可以同時使用這些服務同時獲取到主網、Polygon、BSC、Arbitrum、fantom、POAP 的所有 NFT 了。可以在這裡看在線演示

image

除了 Assets,Unidata 還有 Profiles、Links、Notes 三個部分。

Assets 目前支持了 Ethereum NFT(Mainnet、Polygon、BSC、Arbitrum、Fantom、Gnosis、POAP)、Solana NFT、Alchemy、Solscan、Moralis、OpenSea。

Notes 目前支持了 Mirror Entry、Ethereum NFT Activity(Mainnet、Polygon、BSC、Arbitrum、Fantom、Gnosis、POAP)、RSS3。

Profiles 目前支持了 ENS、Crossbell、Infura。

Links 目前支持了 CyberConnect。

還有很多正在不斷添加中,可以在文檔看目前支持的所有服務和數據源

GitHub Org's stars Discord Twitter Follow

image

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。