如何使用 NFTScan NFT API 在 Mantle 网络上开发 Web3 应用

Mantle Network 是建立在以太坊区块链之上的第 2 层扩展解决方案,采用了 Optimistic Rollups 技术,由 BitDAO 孵化,以提供比以太坊更快速和更经济的交易体验。由于 Mantle 基础链构建在 OP Stack 之上并与 EVM 兼容,因此以太坊网络的相关开发人员工具和 API 可以轻松地从原有链迁移,降低相关开发成本。

根据 NFTScan 数据显示,截至 2 月 21 日,Mantle Network 上已累计发行 NFT 资产 3,251,118 枚,NFT Collection 21,920 个,产生交互记录 4,952,270 条,有过交互的钱包地址 1,179,502 个,总交易额 1,889,464.81 MNT。

Mantle NFTScan:

创建 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 永不过期,用完为止!

查看 Mantle NFT 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、Mantle、Moonbeam、PlatON、Cronos、Gnosis 22 条区块链的 NFT 全量数据,所涵盖的 NFT 数据全、种类丰富,提供一整套的接口来获得 ERC721 和 ERC1155 资产以及交易、项目、市场统计等信息,现在支持 60 多个针对 EVM 兼容链的公共接口,以及针对 Solana、Aptos、Bitcoin、TON 的一批相同模型的接口,很大程度上满足了开发者索引多种类型的 NFT 数据的需求。

Mantle NFT API 模型

主要包括了以下三个模型接口,包括里面一些 API 核心的字段的整体介绍和说明,方便开发者知道怎么去获取数据利用这些信息服务于自己正在构建的 Dapp 服务。

Assets API:"Assets"是 NFT 中最关键的数据字段,用于唯一标识和描述数字资产。开发者可以通过提取 Mantle 区块链上 NFT 的"Assets"数据来获取全面的了解,并构建相关应用。"Assets"对象提供了数字资产的唯一标识以及其整个生命周期的数据,为开发者理解和应用 NFT 提供了基础。

Transactions API:交易模型代表了区块链上一个 NFT 资产的全量交易数据,为开发者提供 NFT 的完整生命周期交易信息。包括 NFT 的 mint、转移、销售、和其他交易活动,为开发者提供了深入了解 NFT 资产在 Mantle 生态系统中的流动和演变过程的机会。NFTScan 不断地汇总来自各个区块链网络的 NFT 交易市场和相关交易合约信息,目前 NFTScan 已收录用于追踪和了解 NFT 市场的动态,同时也有助于开发者构建基于 NFT 的应用程序和工具。

Collections API:NFTScan 获取与 NFT Collections 相关的描述、社交媒体及其他基本信息等链下数据。NFTScan 通过各个区块链网络中最主流的 NFT 市场提供的 API 获取这些信息。此外当前地板价信息是基于 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 NFTs by contract 接口为“/v2/assets/{contract_address}”来检索一个合约地址下的 NFT 详情信息,路径参数包括 contract_address 作为选择,这里我们查询项目是 MantleNFT。

点击 Try it,数据返回如下,数据响应结果显示该 NFT Collection 所有 item 的基础数据及元数据信息,这里我们选择了 MantleNFT,可以看到项目下一共 38638 个 Items,返回数据按照 token_id 进行排序,例如 id 为 0 的 item:

1)单个 item 基础数据:0x7cf4ac414c94e03ecb2a7d6ea8f79087453caef0 及名称为 MantleNFT,这里查询的 NFT Token id 为 0,在项目中的占比为 1,协议标准为 erc721,Mint 时的钱包地址/持有者钱包地址,被铸造时的时间戳/Mint 的哈希地址/Token URI 的地址。latest_trade_price(上次成交价)/latest_trade_symbol(上次成交价的货币),latest_trade_timestamp(上次成交时间戳)等数据。

2)元数据:从该项目的元数据可以看出 Metadata 数据托管在 ipfs 上,格式为 image/png,存储路径以及为对该图片的细节特征描述。

3)稀有度描述:得分为 1.1785878980631936,综合稀有度排名为 7137 名。

2/ Retrieve Transactions 系列

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

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

  • Get transactions by 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 的交易记录,查询参数可选择交易的 NFT 事件类型(Mint/Transfer/Sale/Burn),使用 ';' 分隔多个事件。

同样这里我们检索 MantleNFT Item 为 0 的 NFT 交易记录。按照 Mint/Transfer/Sale/Burn 所有事件类型,结果响应数据包含这个 NFT Item 下所有交易关键数据,如交易哈希值、From 和 To 地址、区块信息、消耗 Gas、交易时间戳等基础数据等 NFT 交易的特征信息。数据返回显示该 item 目前只有一条 mint 相关交易记录。

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 account “/v2/collections/own/{account_address}”这里我们检索钱包地址为 0xc279cce107a9272ffec07cb1b7471491c2fee5a2 持有的所有 erc721 协议的 NFT Collection,可以看到一共返回了 20 个 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}” 检索合约地址为 0x7cf4ac414c94e03ecb2a7d6ea8f79087453caef0 名称为 MantleNFT 的顶级持有者详情数据及分布,可参考:

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 Mantle 网络上各与数据分析和统计有关的信息,如 Trade Ranking、Mint Amount 等等这类接口允许开发者或用户查询、分析、和检索与特定数据集或指标相关的统计数据。可以用于各种用途,包括市场分析、趋势追踪、投资决策、以及了解特定数据的性质。

7/ Refresh Metadata

  • Refresh NFT metadata

  • Refresh NFT metadata by contract

Refresh Metadata 这类接口可以帮助开发者或用户提交后台刷新元数据任务,该任务审核后会刷新提交的指定 Item 或整个合约元数据。

8/ Other

  • Get latest block number(返回 NFTScan 已到达的最新块号)

  • Get the latest reorganization block numbers(返回最新的重组块号)

  • 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 过程十分简单便捷,开发者只需要浏览 API 文档找到所需的接口,了解接口地址、请求方法、请求参数等信息。然后根据个人需求选择编程语言,比如 JavaScript、Python、Java 等,使用该语言的 HTTP 请求库发送构建好的请求到接口地址,并筛选所需的头信息和参数,整个调用过程迅速便利,开发者完全可以根据 NFT API 文档说明进行调用。

这里我们使用接口 Market Cap Ranking “/v2/statistics/ranking/marketcap” 对 Mantle 链上的 NFT Collection 市值排名数据进行调取,HTTP GET 请求访问 NFTScan 的 API 接口,使用 Python 的 requests 库,可以这样构建请求:

import requests
# NFTScan API Endpoint for Market Cap Rankingapi_url = "https://api.nftscan.io/v2/statistics/ranking/marketcap"
# Build a GET request, add request parameters as neededresponse = requests.get(api_url)
# Check if the request was successfulif response.status_code == 200:    # Get the returned JSON data    data = response.json()
    # Process the data here, you can print, analyze, or perform other operations    print(data)else:    # Print the error message    print(f"Error: {response.status_code}, {response.text}")

关于 NFTScan

NFTScan 成立于 2021 年初,总部位于香港,是全球领先的 NFT 数据基础设施服务商,目前已支持 Bitcoin、Ethereum、BNBChain、Polygon、Solana、TON、Arbitrum、Optimism、zkSync、Aptos 等在内的 22 条主流区块链网络。NFTScan 团队致力于为数以亿计的 Web3 用户提供简洁高效的 NFT 检索服务,为新一代金融科技公司提供安全稳定的多链 NFT 索引服务,用数据来推动 NFT 生态的繁荣发展!目前,NFTScan 在为包括 CMC、Binance NFT、Bybit、KuCoin、HashKey Group 、Mask Network、imToken、Enjin、Coin98 等在内的 5000+ 开发者提供多链 NFT 数据支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/407012.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 102. 二叉树的层序遍历

题目链接https://leetcode.cn/problems/binary-tree-level-order-traversal/description/ 通过队列实现层序遍历 class Solution {public List<List<Integer>> levelOrder(TreeNode root) {List<List<Integer>> res new ArrayList<>();Queue<…

读书笔记之《巨富》:如何成为全球顶级富豪?

《巨富—全球超级新贵的崛起和其他人的没落》的作者是[美]克里斯蒂娅•弗里兰&#xff0c; 原作名: Plutocrats: The Rise of the New Global Super-Rich and the Fall of Everyone Else &#xff0c;2013年出版。 克里斯蒂娅•弗里兰&#xff08;Chrystia Freeland&#xff…

Linux使用C语言获取进程信息

Linux使用C语言获取进程信息 Author: OnceDay Date: 2024年2月22日 漫漫长路&#xff0c;才刚刚开始… 全系列文章可查看专栏: Linux实践记录_Once_day的博客-CSDN博客 参考文档: Linux proc目录详解_/proc/mounts-CSDN博客Linux下/proc目录介绍 - 知乎 (zhihu.com)Linux内…

Android 如何添加自定义字体

Android 如何添加自定义字体 比如我要添加 jetbrains 相关字体 在 res 文件夹中添加 font 文件夹。里面放入你的字体文件 .ttf .otf&#xff0c;字体文件名需要是小写&#xff0c;只能是字母和下划线。 在 xml 布局文件中直接通过 android:fontFamily"font/jetbrainsmo…

Python实战:xlsx文件的读写

Python实战&#xff1a;xlsx文件的读写 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 &#x1f448; 希望得到您的订阅和支持~ &#…

基于java Springboot实现教务管理系统

基于java Springboot实现教务管理系统《视频版-建议收藏》 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文…

Springboot集成prometheus快速入门demo

一、介绍 prometheus Prometheus 是由前 Google 工程师从 2012 年开始在 Soundcloud 以开源软件的形式进行研发的系统监控和告警工具包&#xff0c;自此以后&#xff0c;许多公司和组织都采用了 Prometheus 作为监控告警工具。Prometheus 的开发者和用户社区非常活跃&#xff0…

【深度学习笔记】3_5 图像分类数据集fashion-mnist

注&#xff1a;本文为《动手学深度学习》开源内容&#xff0c;仅为个人学习记录&#xff0c;无抄袭搬运意图 3.5 图像分类数据集&#xff08;Fashion-MNIST&#xff09; 在介绍softmax回归的实现前我们先引入一个多类图像分类数据集。它将在后面的章节中被多次使用&#xff0c…

抖音视频评论数据提取软件|抖音数据抓取工具

一、开发背景&#xff1a; 在业务需求中&#xff0c;我们经常需要下载抖音视频。然而&#xff0c;在网上找到的视频通常只能通过逐个复制链接的方式进行抓取和下载&#xff0c;这种操作非常耗时。我们希望能够通过关键词自动批量抓取并选择性地下载抖音视频。因此&#xff0c;为…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的犬种识别系统(附完整代码资源+UI界面+PyTorch代码)

摘要&#xff1a;本文介绍了一种基于深度学习的犬种识别系统系统的代码&#xff0c;采用最先进的YOLOv8算法并对比YOLOv7、YOLOv6、YOLOv5等算法的结果&#xff0c;能够准确识别图像、视频、实时视频流以及批量文件中的犬种。文章详细解释了YOLOv8算法的原理&#xff0c;并提供…

RabbitMQ-消息队列:发布确认高级

18、发布确认高级 在生产环境中由于一些不明原因&#xff0c;导致 RabbitMQ 重启&#xff0c;在 RabbitMQ 重启期间生产者消息投递失败&#xff0c; 导致消息丢失&#xff0c;需要手动处理和恢复。于是&#xff0c;我们开始思考&#xff0c;如何才能进行 RabbitMQ 的消息可靠投…

零基础手把手教你创建微信小程序(二)·创建第一个微信小程序以及了解小程序代码的构成

零基础手把手教你创建微信小程序&#xff08;一&#xff09;微信小程序开发账号的注册以及开发者工具的安装和使用-CSDN博客 目录 ​编辑 1. 创建微信小程序 1.1 基本信息 1.2 在模拟器上查看项目效果 1.3 在真机上预览项目效果 1.4 主界面的5个组成部分 1.4.1 菜单…

Android studio 下的APK打包失败问题解决办法

嗨&#xff0c;各位小伙伴们&#xff0c;我是你们的好朋友咕噜铁蛋&#xff01;作为移动应用开发者&#xff0c;在使用Android Studio进行APK打包时&#xff0c;有时候可能会遇到各种问题导致打包失败&#xff0c;这给我们的开发工作带来了一定的挑战。今天&#xff0c;我将和大…

Excel 面试题及答案(2)

一、VLOOKUP+IF案例: A1 :根据左侧数据源,按姓名匹配《职级》,仅限用函数,不能做任何辅助A2 :根据左侧数据源,按姓名匹配《部门》,仅限用函数,不能做任何辅助A3 :根据右侧考核规则,匹配《绩效比例》,用函数完成(可适当做辅助的单元格区域) =VLOOKUP(F8,IF({1,0},…

qt波位图

1&#xff0c;QPainter 绘制&#xff0c;先绘制这一堆蓝色的东西, 2&#xff0c;在用定时器&#xff1a;QTimer&#xff0c;配合绘制棕色的圆。用到取余&#xff0c;取整 #pragma once#include <QWidget> #include <QPaintEvent>#include <QTimer>QT_BEGIN_…

小程序配置服务器域名:一步步教你如何设置

小程序配置服务器域名&#xff1a;一步步教你如何设置 在当今数字化时代&#xff0c;小程序已经成为了连接用户与服务的重要桥梁。然而&#xff0c;为了让小程序能够正常地与服务器进行通信&#xff0c;我们需要对小程序进行服务器域名的配置。本文将为大家详细介绍小程序配置…

【黑马程序员】STL容器之string

string string 基本概念 string本质 string是c风格的字符串&#xff0c;而string本质上是一个类 string和char* 区别 char* 是一个指针string是一个类&#xff0c;类内部封装了char*,管理这个字符串&#xff0c;是一个char*型的容器 特点 string 内部封装了很多成员方法…

C# (WebApi)整合 Swagger

SpringBoot-整合Swagger_jboot整合swagger-CSDN博客 C# webapi 也可以整合Swagger webapi运行其实有个自带的HELP页面 但是如果觉得UI不好看&#xff0c;且没办法显示方法注释等不方便的操作&#xff0c;我们也可以整合Swagger 一、使用NuGet控制台安装Swagger 在菜单中选择…

从软硬件以及常见框架思考高并发设计

目录 文章简介 扩展方式 横向扩展 纵向扩展 站在软件的层面上看 站在硬件的层面上看 站在经典的单机服务框架上看 性能提升的思考方向 可用性提升的思考方向 扩展性提升的思考方向 文章简介 先从整体&#xff0c;体系认识&#xff0c;理解高并发的策略&#xff0c;方…

LeetCode 448.找到所有数组中消失的数字

目录 1.题目 2.代码及思路 3.进阶 3.1题目 3.2代码及思路 1.题目 给你一个含 n 个整数的数组 nums &#xff0c;其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字&#xff0c;并以数组的形式返回结果。 示例 1&#xff1a; 输入&am…
最新文章