Bitcoin NFT 又称 Bitcoin Ordinals 协议,是一种在 BTC 区块链上创建数字资产的方法。2023 年 1 月,由软件工程师 Casey Rodarmor 在 BTC 比特币区块链上构建的 Ordinals NFT 协议正式发布,允许用户在比特币最小单位 Satoshi(SAT)上创建独一无二的 NFT,旨在为每 satoshis(sat)分配唯一身份。
通过使用 Ord 软件,该协议将数据添加到这些 sats,并允许软件用户基于一个序数(ordinal numbers)系统来跟踪它们。换句话说,Ordinal 协议将比特币最小单位 sats 以 NFT 的形式表现出来,并为 sats 赋予了理由充分的交易价值和收藏价值。自从 Ordinals 协议诞生后,用户就可以在比特币链上铭刻信息,包括文字 / 图片 / 音频 / 视频,从而创造出了 BTC 链上的 NFT。
从 Ordinals 发布以来,越来越多的人开始铸造 Bitcoin NFT,就目前发展还处于早期的阶段,生态系统尚未完善,但其热度不减及数量增长十分迅速。根据 Bitcoin NFTScan 的数据显示,截止到 7 月 27 号,比特币网络上已经累计铭刻了 1979 万枚 NFT 资产,有 60.5 万个比特币钱包地址持有 NFT 资产,NFTScan 目前已经解析收录了 1534 个 Bitcoin 网络上的 NFT Collection。开发者可以基于 NFTScan 的 Bitcoin NFT API 快速创建相关应用程序,例如开发一个 NFT Marketplace 等等。
Bitcoin NFTScan:https://btc.nftscan.com/
怎样访问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 还为每位注册开发者提供 1M CU 的 API 调用服务,用于请求所有的 NFT API 接口,并且 CU 永不过期,用完为止!
查看 BitcoinAPI 文档
在成功注册开发者账获取 API Key 后,您需要查看 NFTScan API 文档。API 文档包含了所有可以使用的 API 端点和参数,以及如何构建请求和处理响应的详细信息。请认真阅读 API 文档,并确保理解如何使用 API 来获取您需要的数据。NFTScan API 服务致力于帮助开发者改善获取 NFT 数据分析体验。
NFTScan 目前拥有全网最大最全的 NFT Collection 库,已支持 Ethereum、Solana、BNBChain、Bitcoin、Polygon、Aptos、Linea、Avalanche、Arbitrum、Optimism、Fantom、Moonbeam、PlatON、Cronos、Gnosis15条区块链的NFT 全量数据,所涵盖的 NFT 数据全、种类丰富,提供一整套的接口来获得 ERC721 和 ERC1155 资产以及交易、项目、市场统计等信息,现在支持 50 多个针对 EVM 兼容链的公共接口,以及针对 Solana、Aptos、Bitcoin 的一批相同模型的接口,很大程度上满足了开发者索引多种类型的 NFT数据的需求。
Bitcoin API 主要包括了以下三个模型:Asset Model/Transaction Model/Collection Model,包括里面一些核心的字段的整体介绍和说明,方便开发者知道怎么去利用这些信息服务于自己正在构建的 Dapp 服务。
Assets API:Assets 是 NFT 最关键的数据字段,可用于标识并描述该数字资产。开发者可以提取 BTC 区块链上 NFT 的关键数据,从而建立起全面认知,并构建相关应用。Assets 对象提供了数字资产的唯一标识以及全生命周期的数据,是开发者理解和应用 NFT 的基础。
NFTScan BTC API 中的核心数据模型即为 Assets,它代表了每一个独特的数字项目,主要包括了铭文 id、铭文编号、collection 名称、tx_hash、区块 number、mint 价格、持有者等全面数据。
Transactions API:交易模型代表了区块链上一个 NFT 资产的全量交易数据,为开发者提供了 NFT 的全生命周期交易数据。NFTScan 不断收录各个区块链网络上的 NFT 交易市场及其交易合约信息,通过分析和解读合约源代码和交易日志,并将其纳入其数据解析逻辑中。根据 NFTScan 数据,截至 7 月底,主流 15 条链上 NFT 链上记录数量共 2,126,014,489 条,目前已收录了主流 14 条链上的 150 个交易市场全面信息,持续收录其交易数据。
用户可以通过 Transactions API 获取任意 NFT 资产完整的交易记录、行为日志及当前所有权信息,实现对 NFT 的全面跟踪,为开发者分析 NFT 的交易特征、价格走势、流转路径等提供了全面可靠的数据来源。
Collections API:NFTScan 获取与 NFT Collections 相关的描述、社交媒体及其他基本信息等都链下数据。NFTScan 通过各个区块链网络中最主流的 NFT 市场提供的 API 获取这些信息。此外当前地板价信息是基于 NFT 市场的订单信息的集中式数据,也是通过 API 可获取的。
NFTScan 会持续跟踪新出现的 NFT 项目,并快速获取其在各交易平台公开的链下数据信息,通过 Collections API 开放给开发者,这使得开发者可以无需逐个聚合不同平台的数据,就可以通过 Collections API 获取项目的链下描述、持有者、交易活动等关键信息,并集成到应用中。
查询相关 API
Get NFTs by collection:通过 NFTScan BTC APIRetrieve Assets的接口之一“/btc/assets/collection/{collection}”开发者可以通过检索NFTCollection的名称,该接口返回一组属于NFT合约地址的 NFTs,并且按 inscription_id 升序排序。
输入检索 NFT Collection 的名称,点击 Try it将返回该集合下的所有 NFT 资产的详细信息返回数据等等,数据默认分页返回,可通过 limit 和 cursor 参数控制每页数量和页码。获取到所有 NFT 数据后,可以用于展示、分析或其他应用场景。使用这个 API 可以方便地批量获取某个 NFT 项目中的所有 NFT 数据,为打造 NFT 应用提供强大支持。数据显示如下:
Get cursed inscriptions:该接口返回一组被诅咒的铭文 NFT,NFT 按 inscription_number 升序排序。比特币 NFT 协议 Ordinals 已经升级到了 v0.6.0 版本,该版本中最引人注目的更新当属对「诅咒铭文」的支持,一些被成功刻录的铭文没有被索引器分配序号而无法被检索,即被称为「诅咒铭文」。NFTScan 同样对其数据进行整合收录,方便开发者们使用。
Get transactions by inscription ID :该接口主要通过检索 BTC NFT 的铭文 ID(inscription ID),接口路径为:“/btc/transactions/{inscription_id}”,开发者可以方便获取某个 NFT 从Mint 到所有流转的全生命周期交易数据,开发者以实现对 NFT 历史的追溯分析。
查询参数字段可供选择包括 event_type(交易事件类型):Mint/Transfer 使用 ';'用来分隔多个事件。
构建相关 API 请求
一旦在 NFTScan 的 API 文档中找到所需的 BTC API 接口和参数后,开发者可以使用选择的编程语言编写 API 请求代码。访问 NFTScan 的 API 文档,会提供以下信息:
-
API 端点(Endpoint):API 请求的 URL 地址,通常以 HTTP 或 HTTPS 开头。
-
支持的请求方法(HTTP Methods):常见的请求方法有 GET、POST、PUT、DELETE 等,用于指定对 API 的操作类型。
-
请求参数(Request Parameters):API 请求可能需要传递一些参数,这些参数可以是 URL 参数、请求体中的数据等,用于指定请求的具体内容。
-
响应数据(Response Data):API请求成功后,服务器会返回相应的数据,通常以JSON或XML格式进行返回。
开发者在选择使用的编程语言中,可以使用 HTTP 库或 API 客户端库来发起 HTTP 请求,并将所需的参数和头部信息包含在请求中。例如,使用 Python 可以使用 requests 库,而使用 JavaScript 可以使用 axios 或 fetch 等库。
编写 API 请求代码的一般流程如下:
-
引入所需的 HTTP 库或 API 客户端库。
-
构建 API 请求的 URL,包含端点和参数(如果有)。
-
设置请求方法、请求头(如果需要认证)以及请求体(如果是 POST 或 PUT 请求)。
-
发起 API 请求并接收服务器的响应。
-
解析响应数据并进行相应处理。
记得在编写 API 请求代码时,查阅 NFTScan 的 API 文档,确保正确使用 API 端点、参数和认证方式以便成功与 NFTScan 进行交互获取所需的数据。
例如,构建一个请求获取 Bitcoin Frogs NFT 数据的API 请求,查找NFTScan BTC API 的文档或参考文档后,这里使用接口
Get NFTs by collection:“/btc/assets/collection/{collection}”
使用 HTTP GET 请求访问 NFTScan 的 API 端点,并传递所需的参数。例如,使用 Python 的 requests 库,可以这样构建请求:
在上述代码中,我们首先构建了完整的 API 请求 URL,然后使用 requests.get() 方法发送 GET 请求,并从响应中获取返回的 NFT 数据(假设 NFT 数据是以 JSON 格式返回的)。最后开发者可以根据需求对获取到的 NFT 数据进行进一步处理和分析。
不仅是 Bitcoin NFT API,开发者可以根据自己的应用构建需求,灵活调取 NFTScan 提供的丰富 NFT 数据资源。NFTScan 的 NFT API 为开发者提供了全面、实时、可靠的 NFT 核心数据,使开发者能够快速获取所需的 NFT 数据,大大简化和加速开发过程。开发者可以按照自己的业务场景自由组合这些 API,构建符合自己需求的 NFT 应用程序或解决方案。NFTScan 持续优化 API,推出更多高级功能,以进一步提升开发者的工作效率,降低开发成本。为开发者提供了专业可靠的 NFT 基础数据支撑,使开发者能更加专注于应用程序的创新。