如何使用 NFTScan 的 TON API 实现 NFT 应用开发?

news/2024/7/21 10:14:07 标签: 区块链, web3

上周 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 系列

  1. Get NFTs by account:/ton/account/own/{account_address}

  2. Get all NFTs by account:/ton/account/own/all/{account_address}

  3. Get minted NFTs by account:/sol/account/mint/{account_address}

  4. Get NFTs by contract:/ton/assets/collection/{contract}

  5. Get single NFT:/ton/assets/{token_address}

  6. Get multiple NFTs:/ton/assets/batch

这个类型的 API 为开发者提供了简单高效的方式去获取各种 NFT 数据,包括根据用户账户或合约地址获取相关 NFT 列表,获取单个或多个 NFT 的详细信息等。开发者可以通过这类接口直接获取链上 NFT 的基础信息、元数据等,无需自己提取和处理链上原始数据。这类接口减轻了链上数据复杂度,大大降低获取 NFT 细节数据的难度,是开发基于 TON NFT 的 DApp、数据分析等应用的重要基础。

Retrieve Transaction 系列:

  1. Get transactions by account:/ton/transactions/account/{account_address}

  2. Get transactions by contract:/ton/transactions/collection/{contract}

  3. Get transactions by NFT:/ton/transactions/{token_address}

这类型的接口可以方便获取 TON NFT 在链上发生的各种交易信息,包括根据账户、集合、资产地址等获取该 NFT 的历史交易记录,返回每笔交易的关键数据。这类接口提供链上原始的区块事件数据,开发者无需处理链上提取,就可以通过简单的接口调用获得需要的 TON NFT 交易数据。获得这些数据后,开发者可以基于此实现数据分析、交易系统等应用。

Retrieve Collection 系列:

  1. Get an NFT collection:/ton/collections/{collection}

  2. Search NFT collections:/ton/collections/filters

通过指定集合地址或过滤条件搜索 NFT Collection,返回匹配条件的集合列表。开发者可以利用这些接口获得任意项目的概况及列表,并基于此开发应用程序,例如数据分析平台可以统计每个集合的情况,可以展示热门 NFT Collection 的信息。

Statistics 系列:

  1. Trade Ranking:/ton/statistics/ranking/trade

  2. 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 文档中提供的信息来构建和发起请求,以及处理返回的数据。


About NFTScan

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


http://www.niftyadmin.cn/n/5107539.html

相关文章

基于蛇优化优化的BP神经网络(分类应用) - 附代码

基于蛇优化优化的BP神经网络(分类应用) - 附代码 文章目录 基于蛇优化优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.蛇优化优化BP神经网络3.1 BP神经网络参数设置3.2 蛇优化算法应用 4.测试结果&#x…

带头的循环双向链表的简单介绍

目录 带头的循环双向链表: 1、带头: 2、循环: 3、双向: 图例: 带头的双向循环链表的创建: 头文件部分: 主函数部分: 最终调试效果: 使用一级指针传参的原因&am…

Cesium屏幕中心坐标和相机位置坐标计算

1.获取当前屏幕中心点的位置 getCenterPosition() {let centerResult viewer.camera.pickEllipsoid(new Cesium.Cartesian2(viewer.canvas.clientWidth / 2,viewer.canvas.clientHeight / 2,),)centerPoint centerResult;let curPosition Cesium.Ellipsoid.WGS84.cartesianT…

电动汽车打气泵芯片方案

汽车轮胎打气泵方案采用高集成的SOC芯片设计,8位RISC架构的高性能单片机,集成了24Bit高精度ADC和LCD显示模块,内部集成8k*16Bits的MTP程序存储器;具有RISC CPU、模拟器功能、专用微控制等功能特点。丰富的芯片资源在汽车轮胎打气泵…

【netty从入门到放弃】netty转发tcp数据到多客户端

目录 创建数据库表xml实体类启动类线程类客户端代码handlecontroller类缓存tcp链接 接到一个需求,需要实现转发通讯模块tcp数据其他的服务器,也就是转发tcp数据到多客户端 任务拆解: 首先需要建立多客户端,每个客户端有一个独立的clientId和…

Vue2基础知识(一) 认识Vue

💌 所属专栏:【Vue2】😀 作 者:长安不及十里💻工作:目前从事电力行业开发🌈目标:全栈开发🚀 个人简介:一个正在努力学技术的Java工程师,专注基础和…

字节面试题——计算机网络,附答案

1.TCP 三次握手和四次挥手 相关面试题: 计算机网络常见面试题总结(上) | JavaGuide(Java面试 学习指南) 为什么要三次握手?第 2 次握手传回了 ACK,为什么还要传回 SYN?为什么要四次挥手?为什么不能把服务器发送的 ACK 和 FIN…

python二次开发Solidworks:读取立方体的高度

在SW中新建一个零件文档,建立一个立方体,长度和宽度自定义,高度100mm,下面通过python实现读取该立方体的高度: import win32com.client as win32 import pythoncomswApp win32.Dispatch(sldworks.application) swApp.…