如何使用 NFTScan NFT API 在 Starknet 網絡上开發 Web3 應用

2023-12-01 17:12:27

Starknet 是由以色列軟件公司 StarkWare 开發的免許可的第 2 層網絡。Starknet 作為以太坊上的 ZK Rollup 運行,幫助 dApp 使用 STARK 證明以更低的交易成本實現更大的計算規模。該網絡允許智能合約與區塊鏈上部署的其他合約進行交互,從而提高協議之間的可組合性。Starknet 與 Arbitrum、OP Mainnet、zkSync 並列為 2023 年最受歡迎的四大 Layer 2。

就 NFTScan 數據來看,截至 12 月 1 日,Starknet 網絡上已累計發行 NFT 資產 15,009,965 枚,NFT Collection 18,111 個,產生交易記錄 17,009,163 條,有過交互的錢包地址 2,468,080 個,總交易額 3,245.43 ETH。

Starknet NFTScan:

怎樣訪問 NFTScan NFT API

在开始使用 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 永不過期,用完為止!

查 Starknet 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、OP Mainnet、Starknet、Scroll、Viction、Fantom、Moonbeam、PlatON、Cronos、Gnosis 21 條區塊鏈的 NFT 全量數據,所涵蓋的 NFT 數據全、種類豐富,提供一整套的接口來獲得 ERC721 和 ERC1155 資產以及交易、項目、市場統計等信息,現在支持 60 多個針對 EVM 兼容鏈的公共接口,以及針對 Solana、Aptos、Bitcoin、TON 的一批相同模型的接口,很大程度上滿足了开發者索引多種類型的 NFT 數據的需求。

Starknet NFT API 模型

主要包括了以下三個模型接口,包括裏面一些 API 核心的字段的整體介紹和說明,方便开發者知道怎么去獲取數據利用這些信息服務於自己正在構建的 Dapp 服務。

Assets API:"Assets"是 NFT 中最關鍵的數據字段,用於唯一標識和描述數字資產。开發者可以通過提取 Starknet 區塊鏈上 NFT 的"Assets"數據來獲取全面的了解,並構建相關應用。"Assets"對象提供了數字資產的唯一標識以及其整個生命周期的數據,為开發者理解和應用 NFT 提供了基礎。

Transactions API:交易模型代表了區塊鏈上一個 NFT 資產的全量交易數據,為开發者提供 NFT 的完整生命周期交易信息。包括 NFT 的 mint、轉移、銷售、和其他交易活動,為开發者提供了深入了解 NFT 資產在 Starknet 生態系統中的流動和演變過程的機會。NFTScan 不斷地匯總來自各個區塊鏈網絡的 NFT 交易市場和相關交易合約信息,目前 NFTScan 已收錄用於追蹤和了解 NFT 市場的動態,同時也有助於开發者構建基於 NFT 的應用程序和工具。

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

Starknet NFT API 檢索

1/Retrieve Assets 系列

  • Get NFTs by account(通過錢包地址檢索 NFT)

  • Get all NFTs by account(檢索錢包地址的所有 NFT,並根據合約地址對 NFT 進行分組,如果账戶地址擁有的 NFT 總數超過 2000 個,則返回的 NFT 將限制在 2000 個以下。在這種情況下,开發者和用戶可以通過分頁查詢請求按账戶獲取該账戶地址擁有的所有 NFT)

  • Get minted NFTs by account(檢索該錢包地址的 Mint 過的 NFT)

  • Get NFTs by contract(通過合約地址檢索 NFT,並按 token_id 升序排序)

  • Get single NFT(檢索單個 NFT)

  • Get multiple NFTs(同時檢索多個合約地址的 NFT)

  • Search NFTs(該接口通過在請求正文中應用搜索篩選器來返回 NFT 資產列表。資產按 nftscan_id 升序排序)

  • Get NFTs by attributes(該接口返回一組屬於具有屬性的 NFT 合約地址的 NFT,NFT 按 token_id 升序排序)

  • Get all multi-chain NFTs by account(該接口返回账戶地址擁有的所有多鏈 NFT,NFT 根據合約地址進行分組)

這裏我們通過 Get single NFT 接口為“/v2/assets/{contract_address}/{token_id}”

來檢索一個合約地址下的某單個 NFT Item 的詳情信息,路徑參數包括 contract_address/token_id 作為選擇,這裏我們查詢的是地址 0x0727a63f78ee3f1bd18f78009067411ab369c31dece1ae22e16f567906409905 名稱為 Starkpunks 且 token id 為 1 的 NFT。

點擊 Try it 數據響應結果:該地址下一共返回 30 個 items,返回數據包括

1)查詢的 NFT token id 為 1,在項目中的佔比為 1,協議標准為 erc721,Mint 的錢包地址/當前的持有者地址,被鑄造時的時間戳,Mint 的哈希地址及價格,Token URI 的地址。latest_trade_price(上次成交價)/latest_trade_symbol(上次成交價的貨幣),latest_trade_timestamp(上次成交時間戳)當前顯示 null,返還數值空,表示該項目未進行過交易。

2)元數據:從該項目的元數據可以看出 Metadata 數據托管在 ipfs 上,格式為 image/png。

3)稀有度:對屬性的描述,稀有度得分以及稀有度排名。

2/ Retrieve Transactions 系列

  • Get transactions by account(該接口返回錢包地址的 NFT 交易列表)

  • Get transactions by contract(該接口返回 NFT 合約地址的 NFT 交易列表)

  • Get transactions by NFT(該接口返回單個 NFT 的 NFT 交易列表)

  • Search transactions(該接口返回在請求正文中應用搜索過濾器來返回 NFT 交易列表)

  • Get transactions by to address(該接口返回按交易參數過濾的 NFT 交易列表)

  • Get transactions by hash(該接口返回根據交易哈希列表查詢到的交易記錄)

這裏我們通過 Get transactions by NFT“/v2/transactions/{contract_address}/{token_id}”這個接口,檢索某單個 NFT Item 的交易記錄,查詢參數可選擇交易的 NFT 事件類型(Mint/Transfer/Sale/Burn),使用 ';' 分隔多個事件。同樣這裏我們檢索 Starkpunks 且 token id 為 1 的 NFT。按照 Mint&Sale 的事件類型,結果響應數據包含這筆 NFT 交易的所有關鍵數據,如交易哈希值、From 和 To 地址、區塊信息、消耗 Gas、交易時間戳等基礎數據等 Mint&Sale NFT 交易事件的特徵信息。

3/ Retrieve Collections 系列

  • Get an NFT collection(根據 Collection 的合約地址查詢詳情,包括概覽及按照描述對 Item 進行分類,持有者分布、平均價格、地板價等基本概括信息)

  • Search NFT collections(此接口通過在請求正文中應用搜索過濾器來返回 Collection 列表的信息,Collection 按部署塊編號升序排序)

  • Get NFT collections by account(該接口返回具有給定账戶地址的項目列表信息,Collection 按地板價從高到低排序)

  • Get NFT collections by ranking(該接口返回具有給定排序字段的項目列表信息,Collection 按給定的排序字段和給定的排序方向排序)

這裏我們通過接口 Get NFT collections by ranking

“/v2/collections/rankings” 檢索 Starknet 網絡上 NFT Collection Ranking 榜單, 查詢參數檢索字段包括:

volume/sales/average_price/floor_price/volume_change/average_price_change 等,這裏我們選擇 volume_total 字段進行檢索,共返回 100 個 data 且每個 data 包含 35 個 items。

4/ Collection Statistics:Collection 統計分析系列

  • Collection Statistics(該接口提供 NFT Collection 的分析統計概覽數據)

  • Collection Trade Distribution(該接口主要提供項目交易分布)

  • Collection Trending Statistics(主要返回一個項目的 Trading 統計排序)

  • Collection Holding Amount Distribution(該接口可返回 NFT 項目持有量的分布信息)

  • Collection Holding Period Distribution(數據返回 NFT 項目持有期分布信息)

  • Collection Blue Chip Statistics(藍籌項目統計概覽數據)

  • Collection Blue Chip List(該項目涉及的藍籌項目清單,可參考 NFTScan Blue Chip Collection)

  • Collection Top Holder(該 Collection 的頂級持有者分布)

這裏我們通過接口 Collection Statistics “/v2/statistics/collection/{contract_address}”主要返回一個 NFT Collection 的分析統計概覽數據,可參考 Starknet 鏈上 Starkpunks 數據概覽:

5/ Account Statistics 系列

  • Account Overview Statistics(該接口返回账戶地址的概覽統計信息,參考 NFTScan Overview)

  • Account Holding Distribution(該接口返回账戶地址的 NFT 持有分布統計信息,參考 NFTScan Portfolio)

  • Account Holding NFT Trending(該接口返回账戶地址的 NFT 持有量(或數量)統計信息,參考 NFTScan Portfolio)

6/ Analytic Statistics 系列

該系列接口通常用於獲取 NFTScan Starknet 上各與數據分析和統計有關的信息,如 Trade Ranking、Mint Amount、Gas Ranking 等這類接口允許开發者或用戶查詢、分析、和檢索與特定數據集或指標相關的統計數據。可以用於各種用途,包括市場分析、趨勢追蹤、投資決策、以及了解特定數據的性質。

7/ Refresh Metadata

  • Refresh NFT metadata

  • Refresh NFT metadata by contract

Refresh Metadata 這類接口可以幫助开發者或用戶提交後臺刷新元數據任務,該任務審核後會刷新提交的指定 Item 或整個合約元數據。

8/ Other

  • Get latest block number(返回 NFTScan 已到達的最新塊號)

  • Get NFT amount by account(根據請求體中的搜索列表返回账戶地址擁有的 ERC721 和 ERC1155 NFT 數量信息)

  • Get NFT owners by contract(返回 ERC721 NFT 合約地址的所有者列表,NFT 按 token_id 升序排序)

  • Get owners by an NFT(返回 ERC1155 NFT 的所有者列表, NFT 按 account_address 升序排序)

構建相關 NFT API 請求

調用 NFTScan 的 NFT API 對开發者極為簡單。只需幾個步驟,在詳盡的文檔中查找需要調用的接口,了解其請求方法、參數等。然後,選擇一種自己熟悉的編程語言,如 JavaScript、Python 或 Java,並引入語言的請求庫。並根據文檔說明構造請求,配置接口請求地址、方法與請求參數。最後,利用語言庫發出請求,接收並處理返回的 JSON 格式數據。在簡單的參考文檔即可完成調用的過程中,开發者無需關注復雜的技術細節,極低的使用門檻使獲取 NFT 數據變得前所未有的容易。

這裏我們請求檢索 Starkpunks 合約地址下 token id 為 1 的 NFT Item 的詳情信息,使用接口 Get single NFT “/v2/assets/{contract_address}/{token_id}”,檢索地址為

0x0727a63f78ee3f1bd18f78009067411ab369c31dece1ae22e16f567906409905,HTTP GET 請求訪問 NFTScan 的 API 端點,使用 Python 的 requests 庫,可以這樣構建請求:

About NFTScan

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

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

推薦文章

btc日內再次下跌 短线應當如何處理?

盡管以太坊現貨ETF獲批是個好消息,但市場反應卻不如預期。在消息公布後,以太坊價格出現了小幅下跌,...

加密蓮
185 5個月前

7月23日、BTC(合約)ETH(合約)行情分析及操作策略

昨日收益還是不錯的,日內給出的現價空單分別止盈我們目標點位,恭喜跟上的朋友喫肉。時間一晃到月底了,...

倪老師
185 5個月前

幣圈院士:血與淚的教訓!交易者為何總是撞死在同一棵樹上?

幣圈院士談。交易市場中的幾種“死法” 在幣圈市場鱗次櫛比的海洋,風起雲湧,時常讓人感到驚手不及。在...

幣圈院士
192 5個月前

7月23:Mt. Gox 比特幣錢包在市場緊縮的情況下轉移了價值 28.2 億美元的 BTC

7月23:Mt. Gox 比特幣錢包在市場緊縮的情況下轉移了價值 28.2 億美元的 BTC一個引...

168超神
189 5個月前

悅盈:比特幣68000的空完美落地反彈繼續看跌 以太坊破前高看回撤

一個人的自律中,藏着無限的可能性,你自律的程度,決定着你人生的高度。 人生沒有近路可走,但你走的每...

我是周悅盈
164 5個月前

btc完美盈利 晚間波動較大注意

昨日btc空單完美給到,最大化走出一千七百點空間~ btc: 日內开盤下跌繼續測試66000一线,...

加密蓮
173 5個月前