如何通過 NFTScan API 按照 NFT 合約地址檢索數據?

2023-10-13 18:07 NFT_Research


在當前 NFT 市場還在不斷擴張的背景下,各種 NFT 項目依舊是井噴式湧現,投資者和开發者都面臨獲取項目全貌數據的困境。公鏈上提取和處理大量的數據既費時又費力,缺乏全面的信息支持,將難以深入判斷一個 NFT 項目的真實情況,嚴重制約了 NFT 數據應用的开發與投資決策,如何在海量復雜的數據中有效發掘價值,是一個亟待解決的難題。

NFTScan 主站數據顯示,截至 2023 年 10 月 13 日 NFTScan 目前已支持的 18 條主流區塊鏈網絡共產生:NFT 合約數量 300 多萬個;NFT 資產數量 12.5 億枚;NFT 鏈上記錄數量 4 億條;NFT 資產總市值:$15,609,768,860;NFT 歷史總交易額:$93,122,604,064。

NFTScan 提供的 API,开發者可以實現高效自動化地獲取和處理海量 NFT 數據,無需人工操作和復雜判斷,大大降低了开發成本。相比自主开發監測系統,使用 NFTScan 的標准化 API 直接構建,不僅省去了復雜的設計和开發過程,也減少了後續的維護和升級成本。 API 可以輕松實現高頻率監測,降低人力成本。此外,NFTScan API 返回規範化的數據格式,使得开發和優化監測工具變得更加簡單高效,自定義的參數設置也讓开發者可以靈活地定制屬於自己的解決方案。

怎樣訪問 NFTScan NFT API

創建 NFTScan 开發者账號

在开始使用 NFTScan API 之前,首先需要訪問开發者網站並創建一個账戶。前往 NFTScan 官方網站點擊 NFTScan API “Sign Up”按鈕進行注冊。

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

在 Dashboard 中,开發人員還可以查看自己 API 使用情況的統計數據,幫助記錄歷史使用數據。不僅如此,NFTScan 還爲每位注冊开發者提供 1M CU 的 API 調用服務,用於請求所有的 NFT API 接口,並且 CU 永不過期,用完爲止!

看 API 文檔

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

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

按照 NFT 合約地址檢索數據 API 類型

1/ Get NFTs by contract:/v2/assets/{contract_address}

該接口主要返回一個合約地址下的一組 NFT,开發者只需要選擇輸入任意 ERC-721 或 ERC-1155 標准的 NFT 項目合約地址,就可以獲取該項目下所有 NFT 資產的完整數據。查詢參數可選擇 

latest_trade_price/latest_trade_time/rarity_rank(rarity_rank 僅適用於 ERC-721 協議),這裏我們選擇最後成交價來作爲查詢參數。

點擊 Try it,查看返回首條數據:

合約地址爲 0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d,合約名稱爲 BoredApeYachtClub,token id 爲 7856,協議標准爲 erc721,mint 地址,持有者地址,元數據 json 等等全部信息。

2/ Get transactions by contract:/v2/transactions/{contract_address}

允許开發者通過輸入任意 NFT 項目的合約地址,可獲取該項目在生命周期內所有 NFT 資產的歷史交易信息。利用這個接口,开發者可以跳過解析鏈上原始交易的繁瑣過程,直接獲取幹淨可用的結構化交易數據。查詢參數可選擇交易的 NFT 事件類型(Mint/Transfer/Sale/Burn),使用 ';' 分隔多個事件。

這裏我們選擇了 Mint 的事件類型,輸入自己的 api-key 之後,結果響應數據包含這筆 NFT 交易的所有關鍵數據,如交易哈希值、區塊信息、From 和 To 地址、合約地址、交易時間戳等基礎數據外,還有轉账的Token ID、交易金額和幣種等 NFT 交易的特徵信息。

3/ Get NFT owners by contract:/v2/asset/collection/amount

該接口主要返回一組協議標准爲 erc-721的 NFT 合約地址的持有者列表。开發者只需輸入項目合約地址,該接口就會返回一個地址對象數組,每個對象包含持有者的錢包地址和其持有的該項目 NFT token_id。這裏我們檢索的是 BAYC 的持有者列表數據,可以看到共返回了 10000 個地址數據。

4/ Refresh NFT metadata by contract:/v2/refresh/metadata/contract

該接口可以幫助开發者或用戶提交後台刷新元數據任務,該任務審核後會刷新提交的整個合約元數據。

構建相關 NFT API 請求

具體來說,开發者可以使用不同的語言來編寫調用 NFTScan API 的代碼如 Python、Java、JavaScript 等等 。例如在 Python 中,可以使用 requests 庫來發起 API 請求;在 JavaScript 中可以使用 axios;在 Java 中可以用 OkHttp 或 Retrofit 等庫。編寫代碼時,开發者只需組織好接口參數,如合約地址、API Key 等,調用對應的 NFTScan 接口,就可以方便地獲取到標准化的 JSON 格式數據。

下面按使用 Python 來通過 NFTScan 的 API 請求一個 NFT 合約地址的歷史交易情況,可以分爲以下步驟:

步驟 1:導入必要的庫

首先,導入 Python 的 requests 庫,將用於發起 HTTP 請求和處理響應。

步驟 2:構建 API 請求

定義 NFTScan 的 API 基本 URL 和要查詢的合約地址:

步驟 3:構建完整的 API 請求 URL

將合約地址添加到基本 URL 中,形成完整的 API 請求 URL:

步驟 4:發起 GET 請求

使用 requests 庫發起 GET 請求並檢查 HTTP 響應的狀態碼,狀態碼爲 200 表示請求成功:

步驟 5:處理返回的數據

如果請求成功,解析 JSON 響應並處理歷史交易數據。以下是一個示例處理歷史交易數據的代碼:

以上是一個基本示例來使用 Python 來發起 Get transactions by contract API 請求的基本示例。請注意,實際的代碼可能需要更多的錯誤處理和數據分析,具體取決於开發者的需求。

About NFTScan

NFTScan 成立於 2021 年 4 月份,總部位於中國香港,是全球領先的 NFT 數據基礎設施服務商,目前已支持 Bitcoin、Ethereum、BNBChain、Polygon、Solana、Linea、Arbitrum、Optimism、zkSync、Aptos 等在內的 18 條主流區塊鏈網絡。NFTScan 團隊致力於爲數以億計的 Web3 用戶提供簡潔高效的 NFT 檢索服務,爲新一代金融科技公司提供安全穩定的多鏈 NFT 索引服務,用數據來推動 NFT 生態的繁榮發展!目前,NFTScan 在爲包括 CMC、Binance NFT、Bybit Web3、KuCoin、HashKey Group 、SafePal、Mask、imToken、Enjin、Coin98、OneKey、TokenPocket、AlienSwap 等在內的 4000+ 开發者提供多鏈 NFT 數據支持!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

標題:如何通過 NFTScan API 按照 NFT 合約地址檢索數據?

地址:https://www.sgitmedia.com/article/12976.html

相關閱讀: