作者:NFT_Research
上週NFTScan 開發者平台已上線了TON 網路的NFT API 服務,TON(The Open Network)是由Telegram 團隊打造的一條Layer 1 高效能公鏈,採用自己的TVM 虛擬機,與EVM 不相容。透過先進的技術架構實現每秒百萬級TPS 的高速處理,並支援智慧合約和DApp 開發。 TON 採用了分片機制提升擴展性,同時透過資料分片等方式確保網路安全,旨在建立一個高速、安全、可擴展的去中心化網絡,為建構Web 3.0 生態打下堅實基礎。
目前TON 網路上已累計發行NFT 資產1,204,487 枚,NFT Collection 10,123 個,產生交易記錄2,888,936 條,有過交互的錢包地址762,453 個,總交易額15,083,265 TON。目前除了相容EVM 的15 條鏈, NFTScan 還支援了另外4 條是非EVM 區塊鏈:Bitcoin、Aptos、Solana。
TON NFTScan :
如何存取 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 永不過期,用完為止!
查看TON 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、Scroll、Fantom、Moonbeam、PlatON、Cronos 、Gnosis 19 條區塊鏈的NFT 全量數據,所涵蓋的NFT 數據全、種類豐富,提供一整套的接口來獲得ERC721 和ERC1155 資產以及交易、項目、市場統計等信息,現在支持60 多個針對EVM相容鏈的公共接口,以及針對Solana、Aptos、Bitcoin、TON 的一批相同模型的接口,很大程度上滿足了開發者索引多種類型的NFT 資料的需求。
TON API 主要包括了以下五個類型介面:
Retrieve Asset/Retrieve Transaction/Retrieve Collection/Statistics/Refresh Metadata,包含裡面一些API 核心的欄位的整體介紹和說明,方便開發者知道怎麼去取得資料利用這些資訊來服務自己正在建置的Dapp 服務。
Retrieve Asset 系列:
-
Get NFTs by account:/ton/account/own/{account_address}
-
Get all NFTs by account:/ton/account/own/all/{account_address}
-
Get minted NFTs by account:/sol/account/mint/{account_address}
-
Get NFTs by contract:/ton/assets/collection/{contract}
-
Get single NFT:/ton/assets/{token_address}
-
Get multiple NFTs:/ton/assets/batch
這個類型的API 為開發者提供了簡單高效的方式去獲取各種NFT 數據,包括根據用戶帳戶或合約地址獲取相關NFT 列表,獲取單個或多個NFT 的詳細資訊等。開發者可以透過這類介面直接取得鏈上NFT 的基礎資訊、元資料等,無需自行擷取和處理鏈上原始資料。這類介面減輕了鏈上資料複雜度,大幅降低取得NFT 細節資料的難度,是開發基於TON NFT 的DApp、資料分析等應用程式的重要基礎。
Retrieve Transaction 系列:
-
Get transactions by account:/ton/transactions/account/{account_address}
-
Get transactions by contract:/ton/transactions/collection/{contract}
-
Get transactions by NFT:/ton/transactions/{token_address}
這類型的介面可以方便獲取TON NFT 在鏈上發生的各種交易信息,包括根據帳戶、集合、資產地址等獲取該NFT 的歷史交易記錄,返回每筆交易的關鍵數據。這類介面提供鏈上原始的區塊事件數據,開發者無需處理鏈上提取,就可以透過簡單的介面呼叫來獲得所需的TON NFT 交易數據。獲得這些數據後,開發者可以基於此實現數據分析、交易系統等應用程式。
Retrieve Collection 系列:
-
Get an NFT collection:/ton/collections/{collection}
-
Search NFT collections:/ton/collections/filters
透過指定集合位址或篩選條件搜尋NFT Collection,傳回符合條件的集合清單。開發者可以利用這些介面獲得任意項目的概況及列表,並基於此開發應用程序,例如資料分析平台可以統計每個集合的情況,可以展示熱門NFT Collection 的資訊。
Statistics 系列:
-
Trade Ranking:/ton/statistics/ranking/trade
-
Collection Statistics:/ton/statistics/collection/{collection}
Trade Ranking 介面可以取得TON 鏈上NFT 交易排行榜,Collection Statistics 介面可以透過指定項目地址,取得該集合的關鍵統計資料等。這些統計類別介面可以大幅簡化開發者取得NFT 資料來進行統計分析的工作,建構NFT 交易分析平台,或為NFT 應用提供關鍵的統計參數。
1. Refresh Metadata:/ton/refresh/metadata
這個介面用來提交刷新指定NFT 資產的元資料後台任務。
查詢相關 API
1/ Get NFTs by contract:/ton/assets/contract/{contract_address}
透過NFTScan TON API 的該接口,開發者可以透過檢索一個NFT 合約地址,並返回整個Contract 的一組NFT 資訊列表,NFT 按代幣地址升序排列。
這裡我們輸入合約位址:EQCA14o1-VWhS2efqoh_9M1b_A9DtKTuoqfmkn83AbJzwnPi
點擊Try it 將返回該合約地址下的所有NFT 資產的詳細資訊返回資料等等,資料預設分頁返回,可透過limit 和cursor 參數控制每頁數量和頁碼,返回資料包括每個NFT 的token address、token id、metadata、owner 位址等資料。返回資料預設分頁返回,可透過limit 和cursor 參數控制每頁數量和頁碼,靈活取得不同粒度的NFT 資料。取得傳回的資料後,開發者可以建立應用展示NFT 詳情,或擷取資料進行後續分析處理。
可以看到該合約地址下共有 102185 個Items,資料顯示如下:
2/ Get transactions by account:/ton/transactions/account/{account_address}
透過呼叫該介面並輸入帳戶地址,查詢參數可選擇指定NFT 合約地址進行查詢,開發者可以輕鬆獲得該錢包地址作為sender 或receiver 參與的所有歷史NFT 轉帳交易數據,包括每筆交易的區塊高度、時間戳記、Token ID、交易價格、交易類型等資訊。這裡我們查詢的地址為:
EQBwPvcqbRCICLo3cWOiFPO1QdmNZBcYAfpvwEaxjr9hKP-R
3/ Trade Ranking: /ton/statistics/ranking/trade
此介面可以幫助開發者快速取得TON 生態中NFT 專案的Ranking 排名資料。此介面會傳回依照篩選條件如交易額由高到低排列的一組資料。透過此排名列表,開發者可以清楚地看到交易最活躍的NFT 項目,判斷不同項目的流動性情況,確定潛力項目或需要更多研究的項目。
我們可以查看查詢參數time:15m/30m/1h/6h/12h/1d/7d/30d;排序欄位:volume/sales/floor_price/average_price 等進行條件篩選的NFT 交易排名資料統計,可參考TON NFTScan Trading
建構相關API 請求
開發者在NFTScan 的API 文件中找到所需的TON API 介面和參數後,可以使用選擇的程式語言(如Python、Java、JavaScript 等)編寫API 請求程式碼。以下是一些通用的步驟,以及一個範例來說明如何使用Python 編寫TON API 請求程式碼:
1.首先,匯入所選程式語言中的HTTP 請求庫。在Python 中,通常會使用requests 函式庫
2、定義NFTScan API 的基本URL 和所需的參數。在API 文件中找到合適的介面和參數
3.將參數加入基本URL 和端點中,建構完整的API 請求URL
4.使用所選程式語言的HTTP 函式庫發起請求,通常是一個GET 請求
5.檢查HTTP 回應的狀態碼,通常狀態碼為200 表示請求成功
這些通用步驟可用於與NFTScan API 或其他類似的API 進行交互,根據API 文件中提供的資訊來建立和發起請求,以及處理傳回的資料。