如何通过 NFTScan API 按照 NFT 合约地址检索数据?

在当前 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 数据支持!

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

react中ant.design框架配置动态路由

目录 什么是动态路由? 应用场景: ant.design动态路由如何配置: 首先:找到app.tsx文件 然后:找到menuHeaderRender 其次:修改menuHeaderRender为menuDataRender​编辑 最后:在箭头函数里re…

Jenkins集成newman

一、Docker环境准备 二、Jenkins环境准备 三、登录Jenkins 安装NodeJs插件 四、Jenkins全局工具配置Nodejs 五、创建Jenkins自由风格项目 构建步骤1:选择Execute NodeJS script构建步骤2:选择执行shell脚本 六、将postman相关的脚本、环境变量数据、全局…

VUE echarts 柱状图、折线图 双Y轴 显示

weekData: [“1周”,“2周”,“3周”,“4周”,“5周”,“6周”,“7周”,“8周”,“9周”,“10周”], //柱状图横轴 jdslData: [150, 220, 430, 360, 450, 680, 100, 450, 680, 200], // 折线图的数据 cyslData: [100, 200, 400, 300, 500, 500, 500, 450, 480, 400], // 柱状图…

python flask接口字段存在性校验函数(http接口字段校验)(返回提示缺少的字段信息)validate_fields()

文章目录 字段存在性校验示例 字段存在性校验 from flask import Flask, request, jsonifyapp Flask(__name__)def validate_fields(data, fields):missing_fields [field for field in fields if field not in data]if missing_fields:return False, f"缺少以下字段: …

算法解析:LeetCode——机器人碰撞和最低票价

摘要:本文由葡萄城技术团队原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 机器人碰撞 问题: 现有 n 个机器人,编号从 1 开始,每个…

ubuntu 安装jdk21开发环境

下载 wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz 第二步:解压 tar -zxvf jdk-21_linux-x64_bin.tar.gz 第三步:移动 jdk-21 目录到 /usr/local/jdk21 第四步:配置环境变量 sudovim/etc/profile vim/etc/…

Excel 的单元格内容和单元格格式

文章目录 单元格内容单元格格式常规格式数字格式 单元格内容 文本:只要不是纯数字,Excel 都默认是文本格式。 在 Excel 中,逻辑值只有两个:True 和 False。 全选一片区域,按 Delet 键删除内容时,确实可以删…

VTK编译解决CMake的“could not find any instance of Visual Studio”的问题

1、在配置VTK源码编译的过程中,遇到报错 “CMake的“could not find any instance of Visual Studio””,cmake在编程找不到vs2017路径或者配置不全。 解决方案: 安装“Visual Studio Installer”; 1.检查是否安装 “使用C的桌面开发” 2.检…

ACP.复盘方法

复盘要怎么做的有水准,让领导满意,方式方法很重要。今天给你们安利5种复盘方法,保准你省事,领导还满意。 一、KPT复盘法 7月份年中一直在做和复盘相关的事,像公司的OKR复盘、年中战略规划,不过日常很多生…

力扣刷题 day43:10-13

1.完全平方数 给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 …

SOLIDWORKS® 2024 新功能 - 3D CAD

1、 先前版本的兼容性 • 利用您订阅的 SOLIDWORKS,可将您的 SOLIDWORKS 设计作品保存为旧版本,与使用旧版本 SOLIDWORKS 的供应商无缝协作。 • 可将零件、装配体和工程图保存为新版本前两年之内的SOLIDWORKS 版本。 优点: 即使其他用户正…

内存空间的分配与回收之连续分配管理方式

1.连续分配管理方式 连续分配:指为用户进程分配的必须是一个连续的内存空间。 1.单一连续分配 在单一连续分配方式中,内存被分为系统区和用户区。系统区通常位于内存的低地址部分,用于存放操作系统相关数据;用户区用于存放用户进程相关数据。内存中只…

多服务器云探针源码(服务器云监控)/多服务器多节点_云监控程序python源码

源码简介: 多服务器云探针源码(服务器云监控),支持python多服务器多节点,云监控程序源码。它是一款很实用的云探针和服务器云监控程序源码。使用它可以帮助管理员能够快速监控和管理各种服务器和节点,实用性强。 源码链接: 网盘…

【机器学习】sklearn特征选择(feature selection)

文章目录 特征工程过滤法(Filter)方差过滤相关性过滤卡方过滤F验表互信息法小结 嵌入法(Embedded)包装法(Wrapper) 特征工程 特征提取(feature extraction)特征创造(feature creation)特征选择(feature se…

lv8 嵌入式开发-网络编程开发 17 套接字属性设置

1 基本概念 设置套接字的选项对套接字进行控制除了设置选项外,还可以获取选项选项的概念相当于属性,所以套接字选项也可说是套接字属性有些选项(属性)只可获取,不可设置;有些选项既可设置也可获取 2 选项…

Ansible概述和模块解释

一、Ansible概述 Ansible介绍 Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。 Ansible能做什么 Ansi…

呼吁社区共同维护Sui品牌和商标

Sui社区成员可以通过举报Sui商标和品牌资产的不当使用来帮助保护网络的信誉。Sui商标政策解释了logo和名称的可接受和不可接受的使用方式。这些展示代表Sui面向公众,而善意行为者的正确使用有助于维护Sui的声誉。 Sui网络在公众中享有良好声誉,Sui社区都…

GEO生信数据挖掘(七)差异基因分析

上节,我们使用结核病基因数据,做了一个数据预处理的实操案例。例子中结核类型,包括结核,潜隐进展,对照和潜隐,四个类别。本节延续上个数据,进行了差异分析。 差异分析 计算差异指标step12 加载…

API攻防-接口安全SOAPOpenAPIRESTful分类特征导入项目联动检测

文章目录 概述什么是接口? 1、API分类特征SOAP - WSDLWeb services 三种基本元素: OpenApi - Swagger UISpringboot Actuator 2、API检测流程Method:请求方法URL:唯一资源定位符Params:请求参数Authorization&#xff…

阿里云r7服务器内存型CPU采用

阿里云服务器ECS内存型r7实例是第七代内存型实例规格族,CPU采用第三代Intel Xeon可扩展处理器(Ice Lake),基频2.7 GHz,全核睿频3.5 GHz,计算性能稳定,CPU内存比1:8,2核16G起步&#…