对于大多数 Web3 团队来说,构建一个完整的链上 NFT 数据追踪系统是一项具有挑战性的任务,构建一个 NFT 链上追踪器更是如此。涉及到处理区块链上的智能合约和交易数据,并将其与外部数据源进行整合和分析工作量是十分巨大的:
-
区块链数据的复杂性:区块链上的数据结构和操作方式与传统的数据库和 Web 开发有很大不同。智能合约的编写和理解需要专业的知识,并且对于新手来说可能具有陡峭的学习曲线。了解区块链的概念、交易和合约的功能是追踪 NFT 数据的先决条件。
-
链上数据访问限制:某些区块链平台限制了对链上数据的访问。有些平台可能不提供公开的接口或工具,或者可能需要特殊的权限才能访问某些数据。这增加了获取和解析 NFT 数据的难度。
-
数据的碎片化和分布:NFT 数据通常分布在不同的智能合约和链上交易中要获取完整的 NFT 历史记录和所有者信息,需要跟踪并整合多个合约和交易,涉及到对多个数据源进行查询和分析,增加了复杂性。
-
NFT 资产合约不标准:开发者在写 NFT 资产合约时不规范的问题,导致链上存在大量的非标准的 NFT 资产合约,这使得行业基础设施在进行数据解析时消耗大量精力和成本。
-
存储路径的标准化问题:由于存储路径无法进行统一标准化,在应用层会面临较大的用户体验问题。解决方案:统一通过分布式网络进行存储,可以做到格式统一、存储安全。
构建一个 NFT 链上追踪器的确涉及到一定的工作量和复杂性,尽管链上追踪 NFT 数据具有挑战性但仍有一些方法可以应对困难,例如使用专业的数据服务提供商:一些专门的数据服务提供商(如 NFT 数据市场和分析平台)提供了对链上 NFT 数据的访问和分析工具。这些服务提供商可以为你提供更容易使用和解析的数据接口,减轻你自己构建和维护追踪系统的工作量。
NFTScan 作为全球领先的 NFT 基础设施服务商,致力于为 Web3 开发者和新一代金融科技公司提供安全稳定的 NFT 数据服务。其中,NFT API 是 NFTScan 推出的核心服务之一,旨在为开发者提供多链 NFT 数据服务,使得开发者能够以一致和统一的方式访问和展示数据,从而节省了开发和集成的时间和成本,使得构建面向 NFT 的产品和应用程序变得更加流畅和便捷。
NFTScan 通过跟踪区块链网络中的新区块,并对每个交易中的事件数据进行解析,构建了一个全面和可靠的 NFT 数据系统。通过对各种 NFT 项目的数据进行解析和处理,NFTScan 能够提供一致的数据格式和结构,使开发者无需自行处理和解析复杂的数据。这为开发者提供了便利,使他们能够更快地访问和利用 NFT 数据,从而加速应用开发和创新。
一、怎样访问 NFTScan NFT API
1/ 创建NFTScan 开发者账号
在开始使用 NFTScan API 之前,首先需要访问开发者网站并创建一个账户。前往 NFTScan 官方网站(https://developer.nftscan.com/user/signup)点击 NFTScan API “Sign Up”按钮进行注册。
登录后在 Dashboard(面板)上找到自己独有的 API KAY,将其复制。访问 API 文档,将自己的 API KEY 输进 API 文档的相应位置。根据文档的指引,就可以开始使用 API 服务了。在 API 文档中,开发者可以找到多种可供选择的接口模式,根据需求来选择最合适的接口。
在 Dashboard 中,开发人员还可以查看自己 API 使用情况的统计数据,帮助记录历史使用数据。不仅如此,NFTScan 还为每位注册开发者提供每天 1 万次免费的 API 调用服务。
2/ 查看 API 文档
在成功注册开发者账获取 API Key 后,您需要查看 NFTScan API 文档。API 文档包含了所有可以使用的 API 端点和参数,以及如何构建请求和处理响应的详细信息。请认真阅读 API 文档,并确保理解如何使用 API 来获取您需要的数据。NFTScan API 服务致力于帮助开发者改善获取 NFT 数据分析体验。
NFTScan 目前拥有全网最大最全的 NFT Collection 库,已支持 Ethereum、Solana、BNBChain、Bitcoin、Polygon、Aptos、Avalanche、Arbitrum、Optimism、Fantom、Moonbeam、PlatON、Cronos、Gnosis14条区块链的NFT 全量数据,所涵盖的 NFT 数据全、种类丰富,提供一整套的接口来获得 ERC721 和 ERC1155 资产以及交易、项目、市场统计等信息,现在支持 50 多个针对 EVM 兼容链的公共接口,以及针对 Solana、Aptos、Bitcoin 的一批相同模型的接口,很大程度上满足了开发者索引多种类型的 NFT 数据的需求。
二、 NFTScan NFT API 构建 NFT 链上追踪器指南
构建一个 NFT 链上追踪平台除了一些基础数据获取实时数据也是十分重要的。
链上数据同步:能够实时或定期同步链上的 NFT 交易数据、持有者数据、合约数据等。这包括获取 NFT 的元数据、交易记录、当前持有者、历史持有者等信息。
交易监测:能够监测链上 NFT 的交易活动,包括新的转让交易、拍卖、拍卖竞价等。可以提供实时通知或定期报告,以便用户及时了解市场动态。
NFT 查询和过滤:提供便捷的查询和过滤功能,使用户可以根据不同的条件和标准来筛选和搜索 NFT。例如,按照特定合约、持有者、价格范围、稀缺性等进行筛选。
钱包集成:与 NFT 钱包进行集成,以便用户可以在追踪器中直接管理和交易他们的 NFT 资产,涉及到钱包授权、转账功能等。
数据分析和统计:提供数据分析和统计功能,以帮助用户了解 NFT 市场的趋势和特征,包括对持有者数量、交易量、价格走势等数据进行图表和报告的生成。
用户界面和用户体验:设计友好的用户界面,提供直观和易用的功能和操作,使用户能够方便地浏览和管理 NFT 数据。
安全和隐私保护:确保用户的数据和资产安全,并遵守隐私保护政策,保护用户的个人信息和交易数据。
1)能从 NFTScan NFT API 获取到哪些基础数据?主要可以分为以下 4 个板块:
Assets API:NFTScan API 中的核心数据模型即为 Assets,它代表了每一个独特的数字项目,主要包括了合约地址、合约名称、Token id、erc 协议标准、元数据 json、图像 URI、持有者、稀有度排名等NFT 项目信息、资产列表、资产详情的全面数据。
Transactions API:交易模型代表了区块链上一个NFT资产的全量交易数据,NFTScan 不断收录各个区块链网络上的 NFT 交易市场及其交易合约信息,通过分析和解读合约源代码和交易日志,并将其纳入其数据解析逻辑中。根据 NFTScan 数据,截止 7 月初,主流 14 条链上 NFT 链上记录数量共2,126,014,489 条,目前已收录了主流 14 条链上的 150 个交易市场全面信息。
Collections API:NFTScan 获取与 NFT Collections 相关的描述、社交媒体及其他基本信息等都链下数据。NFTScan 通过各个区块链网络中最主流的 NFT 市场提供的 API 获取这些信息。此外当前地板价信息是基于 NFT 市场的订单信息的集中式数据,也是通过 API 可获取的。
Stream API:NFTScan Stream API 提供了一个有用的工具,通过 WebSockets 订阅区块链上发生的 NFT 事件。WebSockets 是一个双向的通信协议,在服务器和客户端之间保持网络连接。WebSocket 连接可以通过允许客户订阅不同类型的链上 NFT 活动来向客户推送通知。开发者可以通过该文档快速将其集成到其应用程序中。
2)查询相关API 请求
Trade Ranking API:NFT 链上追踪器NFT Ranking 排行榜信息是首先十分重要的,包括目前 NFT热门趋势,展示当前最热门的 NFT 排行榜,即最受关注和交易活跃的 NFT 集合。
通过 NFTScan Analytic Statistics的接口之一“/v2/statistics/ranking/trade”,主要返回 NFT 按照交易排名统计数据,可参考 NFTScan Trading:https://www.nftscan.com/analytics/trending
查询参数字段可供选择包括time(时间):15m/30m/1h/6h/12h/1d/7d/30d
sort_field(排序字段):volume/sales/floor_price/average_price
sort_direction(排序方向):desc/esc
show_7d_trends(是否获取项目的 7 天趋势数据):false/true
点击 Tryit 返回数据包括 Trading 排名前100所有 NFT Collection 及其全面数据等个 24 items:
Get transactions by account API:其次NFT 链上追踪器需要获取解析和存储的 NFT 交易数据,以提供全面的 NFT 交易历史、所有者变更、市场价格和趋势等信息,帮助用户对 NFT 市场和特定 NFT 的全面追踪和洞察,了解市场的动态。Retrieve Transactions 接口之一
“/v2/transactions/account/{account_address}”,该接口主要返回特定账户地址的 NFT 交易列表。
查询参数选择包括 contract_address(NFT 合约地址),token_id,even_type(交易的 NFT 事件类型: Mint/Transfer/Sale/Burn),limit(分页大小),sort_direction(排序方向)。
3)构建查询用户 NFT 交易记录请求
这里我们请求巨鲸地址为:
0xca1257ade6f4fa6c6834fdc42e030be6c0f5a813 的NFT 交易记录,使用Python 代码进行调用:
请注意,以上示例代码仅为简单展示如何使用 NFTScan NFT API 发起请求,获取特定地址的 NFT 交易记录,开发者可以根据自己的需求进一步处理返回的 JSON 数据,例如提取交易详情、解析时间戳等。此外,确保已正确安装 requests 库,并根据需要进行适当的身份验证或添加其他请求参数(例如 API 密钥等),以符合 NFTScan NFT API 的要求,来获得更多关于请求参数和数据格式的信息。
通过 NFTScan 提供的 NFT API,开发者可以获得全面的 NFT 数据支持,为他们构建各种应用和解决方案提供了重要的基础。无论是创建 NFT 市场平台、数字资产管理工具还是研究分析系统,开发者可以根据自己的业务需求和创新想法,灵活地利用 NFTScan API 的功能和数据,开发者可以探索和创新,为用户提供更好的 NFT 体验,并在 NFT 生态系统中发现新的机会和潜力。