對於大多數Web3 團隊來說,構建一個完整的鏈上NFT 數據追踪系統是一項具有挑戰性的任務,構建一個NFT 鏈上追踪器更是如此。涉及到處理區塊鏈上的智能合約和交易數據,並將其與外部數據源進行整合和分析工作量是十分巨大的:

  • 區塊鏈數據的複雜性:區塊鏈上的數據結構和操作方式與傳統的數據庫和Web 開發有很大不同。智能合約的編寫和理解需要專業的知識,並且對於新手來說可能具有陡峭的學習曲線。了解區塊鏈的概念、交易和合約的功能是追踪NFT 數據的先決條件。

  • 鏈上數據訪問限制:某些區塊鏈平台限制了對鏈上數據的訪問。有些平台可能不提供公開的接口或工具,或者可能需要特殊的權限才能訪問某些數據。這增加了獲取和解析NFT 數據的難度。

  • 數據的碎片化和分佈:NFT 數據通常分佈在不同的智能合約和鏈上交易中要獲取完整的NFT 歷史記錄和所有者信息,需要跟踪並整合多個合約和交易,涉及到對多個數據源進行查詢和分析,增加了複雜性。

  • NFT 資產合約不標準:開發者在寫NFT 資產合約時不規範的問題,導致鏈上存在大量的非標準的NFT 資產合約,這使得行業基礎設施在進行數據解析時消耗大量精力和成本。

  • 存儲路徑的標準化問題:由於存儲路徑無法進行統一標準化,在應用層會面臨較大的用戶體驗問題。解決方案:統一通過分佈式網絡進行存儲,可以做到格式統一、存儲安全。

構建一個NFT 鏈上追踪器的確涉及到一定的工作量和復雜性,儘管鏈上追踪NFT 數據具有挑戰性但仍有一些方法可以應對困難,例如使用專業的數據服務提供商:一些專門的數據服務提供商(如NFT 數據市場和分析平台)提供了對鏈上NFT 數據的訪問和分析工具。這些服務提供商可以為你提供更容易使用和解析的數據接口,減輕你自己構建和維護追踪系統的工作量。

Web3 開髮指南:使用 NFTScan NFT API 構建一個 NFT 鏈上追踪器

NFTScan 作為全球領先的NFT 基礎設施服務商,致力於為Web3 開發者和新一代金融科技公司提供安全穩定的NFT 數據服務。其中,NFT API 是NFTScan 推出的核心服務之一,旨在為開發者提供多鏈NFT 數據服務,使得開發者能夠以一致和統一的方式訪問和展示數據,從而節省了開發和集成的時間和成本,使得構建面向NFT 的產品和應用程序變得更加流暢和便捷。

NFTScan 通過跟踪區塊鍊網絡中的新區塊,並對每個交易中的事件數據進行解析,構建了一個全面和可靠的NFT 數據系統。通過對各種NFT 項目的數據進行解析和處理,NFTScan 能夠提供一致的數據格式和結構,使開發者無需自行處理和解析複雜的數據。這為開發者提供了便利,使他們能夠更快地訪問和利用NFT 數據,從而加速應用開發和創新。

一、怎樣訪問NFTScan NFT API

1/ 創建NFTScan 開發者賬號

在開始使用NFTScan API 之前,首先需要訪問開發者網站並創建一個賬戶。前往NFTScan 官方網站( https://developer.nftscan.com/user/signup )點擊NFTScan API “Sign Up”按鈕進行註冊。

Web3 開髮指南:使用 NFTScan NFT API 構建一個 NFT 鏈上追踪器

登錄後在Dashboard(面板)上找到自己獨有的API KAY,將其複制。訪問API 文檔,將自己的API KEY 輸進API 文檔的相應位置。根據文檔的指引,就可以開始使用API 服務了。在API 文檔中,開發者可以找到多種可供選擇的接口模式,根據需求來選擇最合適的接口。

Web3 開髮指南:使用 NFTScan NFT API 構建一個 NFT 鏈上追踪器

在Dashboard 中,開發人員還可以查看自己API 使用情況的統計數據,幫助記錄歷史使用數據。不僅如此,NFTScan 還為每位註冊開發者提供每天1 萬次免費的API 調用服務。 Web3 開髮指南:使用 NFTScan NFT API 構建一個 NFT 鏈上追踪器

2/ 查看API 文檔

在成功註冊開發者賬獲取API Key 後,您需要查看NFTScan API 文檔。 API 文檔包含了所有可以使用的API 端點和參數,以及如何構建請求和處理響應的詳細信息。請認真閱讀API 文檔,並確保理解如何使用API 來獲取您需要的數據。 NFTScan API 服務致力於幫助開發者改善獲取NFT 數據分析體驗。

NFTScan 目前擁有全網最大最全的NFT Collection 庫,已支持Ethereum、Solana、BNBChain、Bitcoin、Polygon、Aptos、Avalanche、Arbitrum、Optimism、Fantom、Moonbeam、PlatON、Cronos、Gnosis14條區塊鏈的NFT 全量數據,所涵蓋的NFT 數據全、種類豐富,提供一整套的接口來獲得ERC721 和ERC1155 資產以及交易、項目、市場統計等信息,現在支持50 多個針對EVM 兼容鏈的公共接口,以及針對Solana、Aptos 、Bitcoin 的一批相同模型的接口,很大程度上滿足了開發者索引多種類型的NFT 數據的需求。

Web3 開髮指南:使用 NFTScan NFT API 構建一個 NFT 鏈上追踪器

二、 NFTScan NFT API 構建NFT 鏈上追踪器指南

構建一個NFT 鏈上追踪平台除了一些基礎數據獲取實時數據也是十分重要的。

鏈上數據同步:能夠實時或定期同步鏈上的NFT 交易數據、持有者數據、合約數據等。這包括獲取NFT 的元數據、交易記錄、當前持有者、歷史持有者等信息。

交易監測:能夠監測鏈上NFT 的交易活動,包括新的轉讓交易、拍賣、拍賣競價等。可以提供實時通知或定期報告,以便用戶及時了解市場動態。

NFT 查詢和過濾:提供便捷的查詢和過濾功能,使用戶可以根據不同的條件和標準來篩选和搜索NFT。例如,按照特定合約、持有者、價格範圍、稀缺性等進行篩選。

錢包集成:與NFT 錢包進行集成,以便用戶可以在追踪器中直接管理和交易他們的NFT 資產,涉及到錢包授權、轉賬功能等。

數據分析和統計:提供數據分析和統計功能,以幫助用戶了解NFT 市場的趨勢和特徵,包括對持有者數量、交易量、價格走勢等數據進行圖表和報告的生成。

用戶界面和用戶體驗:設計友好的用戶界面,提供直觀和易用的功能和操作,使用戶能夠方便地瀏覽和管理NFT 數據。

安全和隱私保護:確保用戶的數據和資產安全,並遵守隱私保護政策,保護用戶的個人信息和交易數據。

1)能從NFTScan NFT API 獲取到哪些基礎數據?主要可以分為以下4 個板塊:

Assets API: NFTScan API 中的核心數據模型即為Assets,它代表了每一個獨特的數字項目,主要包括了合約地址、合約名稱、Token id、erc 協議標準、元數據json、圖像URI、持有者、稀有度排名等NFT 項目信息、資產列表、資產詳情的全面數據。

Transactions API:交易模型代表了區塊鏈上一個NFT資產的全量交易數據,NFTScan 不斷收錄各個區塊鍊網絡上的NFT 交易市場及其交易合約信息,通過分析和解讀合約源代碼和交易日誌,並將其納入其數據解析邏輯中。根據NFTScan 數據,截止7 月初,主流14 條鏈上NFT 鏈上記錄數量共2,126,014,489 條,目前已收錄了主流14 條鏈上的150 個交易市場全面信息。

Collections API: NFTScan 獲取與NFT Collections 相關的描述、社交媒體及其他基本信息等都鏈下數據。 NFTScan 通過各個區塊鍊網絡中最主流的NFT 市場提供的API 獲取這些信息。此外當前地板價信息是基於NFT 市場的訂單信息的集中式數據,也是通過API 可獲取的。

Stream API: NFTScan Stream API 提供了一個有用的工具,通過WebSockets 訂閱區塊鏈上發生的NFT 事件。 WebSockets 是一個雙向的通信協議,在服務器和客戶端之間保持網絡連接。 WebSocket 連接可以通過允許客戶訂閱不同類型的鏈上NFT 活動來向客戶推送通知。開發者可以通過該文檔快速將其集成到其應用程序中。

2)查詢相關API 請求

Trade Ranking API: NFT 鏈上追踪器NFT Ranking 排行榜信息是首先十分重要的,包括目前NFT熱門趨勢,展示當前最熱門的NFT 排行榜,即最受關注和交易活躍的NFT 集合。

通過NFTScan Analytic Statistics的接口之一“/v2/statistics/ranking/trade”,主要返回NFT 按照交易排名統計數據,可參考NFTScan Trading: https://www.nftscan.com/analytics/trending

Web3 開髮指南:使用 NFTScan NFT API 構建一個 NFT 鏈上追踪器

查詢參數字段可供選擇包括time(時間):15m/30m/1h/6h/12h/1d/7d/30d

sort_field(排序字段):volume/sales/floor_price/average_price

sort_direction(排序方向):desc/esc

show_7d_trends(是否獲取項目的7 天趨勢數據):false/true

點擊Tryit 返回數據包括Trading 排名前100所有NFT Collection 及其全面數據等個24 items:

Web3 開髮指南:使用 NFTScan NFT API 構建一個 NFT 鏈上追踪器

Get transactions by account API:其次NFT 鏈上追踪器需要獲取解析和存儲的NFT 交易數據,以提供全面的NFT 交易歷史、所有者變更、市場價格和趨勢等信息,幫助用戶對NFT 市場和特定NFT 的全面追踪和洞察,了解市場的動態。 Retrieve Transactions 接口之一

“/v2/transactions/account/{account_address}”,該接口主要返回特定賬戶地址的NFT 交易列表。

Web3 開髮指南:使用 NFTScan NFT API 構建一個 NFT 鏈上追踪器

查詢參數選擇包括contract_address(NFT 合約地址),token_id,even_type(交易的NFT 事件類型: Mint/Transfer/Sale/Burn),limit(分頁大小),sort_direction(排序方向)。

3)構建查詢用戶NFT 交易記錄請求

這裡我們請求巨鯨地址為:

0xca1257ade6f4fa6c6834fdc42e030be6c0f5a813 的NFT 交易記錄,使用Python 代碼進行調用:

Web3 開髮指南:使用 NFTScan NFT API 構建一個 NFT 鏈上追踪器

請注意,以上示例代碼僅為簡單展示如何使用NFTScan NFT API 發起請求,獲取特定地址的NFT 交易記錄,開發者可以根據自己的需求進一步處理返回的JSON 數據,例如提取交易詳情、解析時間戳等。此外,確保已正確安裝requests 庫,並根據需要進行適當的身份驗證或添加其他請求參數(例如API 密鑰等),以符合NFTScan NFT API 的要求,來獲得更多關於請求參數和數據格式的信息。

通過NFTScan 提供的NFT API,開發者可以獲得全面的NFT 數據支持,為他們構建各種應用和解決方案提供了重要的基礎。無論是創建NFT 市場平台、數字資產管理工具還是研究分析系統,開發者可以根據自己的業務需求和創新想法,靈活地利用NFTScan API 的功能和數據,開發者可以探索和創新,為用戶提供更好的NFT 體驗,並在NFT 生態系統中發現新的機會和潛力。