随着 Ordinals 铭文生态的崛起,比特币网络迎来了一场意料之外的变革,大幅提升了链上的交易频率和活跃度。随着越来越多的用户和开发者涌入这一生态系统,Bitcoin 网络的交易量和矿工收益显著增加,推动了整个区块链领域的技术进步和市场发展。Ordinals 的崛起不仅彰显了 NFT 市场的潜力,更揭示了 Bitcoin 在去中心化数字资产领域的新可能性。

根据 NFTScan 数据显示,截至 6 月 28日,Bitcoin网络上铸造的Ordinals铭文(NFT 资产)72,389,094枚,共产生了524,774,887条链上交互记录,有过交互的钱包地址2,630,322个,共累计交易额73,192.92btc,目前市值8,868.51btc。

Ordinals NFTScan:

如何使用 Ordinals API 在 Bitcoin 网络上开发 Web3 应用

 

创建NFTScan 开发者账号

在开始使用 NFTScan API 之前,首先需要访问开发者网站并创建一个账户。前往 NFTScan 官方网站点击 NFTScan API “Sign Up”按钮进行注册。

如何使用 Ordinals API 在 Bitcoin 网络上开发 Web3 应用

登录后在 Dashboard(面板)上找到自己独有的 API KAY,将其复制。访问 API 文档,将自己的 API KEY 输进 API 文档的相应位置。根据文档的指引,就可以开始使用 API 服务了。在 API 文档中,开发者可以找到多种可供选择的接口模式,根据需求来选择最合适的接口。

如何使用 Ordinals API 在 Bitcoin 网络上开发 Web3 应用

在 Dashboard 中,开发人员还可以查看自己 API 使用情况的统计数据,帮助记录历史使用数据。不仅如此,NFTScan 还为每位注册开发者提供 1M CU 的 API 调用服务,用于请求所有的 NFT API 接口,并且 CU 永不过期,用完为止!

 

查看OrdinalsAPI 文档

在成功注册开发者账号获取 API Key 后,需要查看 NFTScan API 文档。API 文档包含了所有可以使用的 API 端点和参数,以及如何构建请求和处理响应的详细信息。请认真阅读 API 文档,并确保理解如何使用 API 来获取您需要的数据。NFTScan API 服务致力于帮助开发者改善获取 NFT 数据分析体验。

NFTScan 目前拥有全网最大最全的 NFT Collection 库,已支持 Ethereum、Solana、BNBChain、Bitcoin、Mint 等 24 条区块链的 NFT 全量数据,所涵盖的 NFT 数据全、种类丰富,提供一整套的接口来获得 ERC721、ERC1155、ERC404、ERC6551 资产以及交易、项目、市场统计等信息,现在支持 60 多个针对 EVM 兼容链的公共接口,以及针对 Solana、Aptos、Bitcoin、TON 的一批相同模型的接口,很大程度上满足了开发者索引多种类型的 NFT 数据的需求。

如何使用 Ordinals API 在 Bitcoin 网络上开发 Web3 应用

OrdinalsAPI 模型

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

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

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

Collections API:NFTScan 获取与 NFT Collections 相关的描述、社交媒体及其他基本信息等链下数据。NFTScan 通过各个区块链网络中最主流的 NFT 市场提供的 API 获取这些信息。此外当前地板价信息是基于 NFT 市场的订单信息的集中式数据,也是通过 API 可获取的。

如何使用 Ordinals API 在 Bitcoin 网络上开发 Web3 应用

1/ Retrieve Assets 系列

  • Get NFTs by account(通过钱包地址检索 NFT)

  • Get minted NFTs by account(检索该钱包地址的 Mint 的 NFT)

  • Get NFTs by collection(通过collection 名称检索NFT,并按inscription_id 升序排序)

  • Get single NFT(检索单个 NFT)

  • Get NFTs by output(按输出获取 NFT)

  • Get cursed inscriptions(该接口返回一组被诅咒的铭文 NFT,NFT 按 inscription_number 升序排序)

这里我们通过Get cursed inscriptions,接口路径为“/btc/assets/cursed/inscription”来检索一组被诅咒的铭文 NFT 的详情信息,查询参数包括cursor / limit / show_attribute作为选择,一些被成功刻录的铭文没有被索引器分配序号而无法被检索,即被称为「诅咒铭文」。NFTScan 同样对其数据进行整合收录,方便开发者们使用。

如何使用 Ordinals API 在 Bitcoin 网络上开发 Web3 应用

2/ Retrieve Transactions系列

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

  • Get transactions by inscription ID(该接口主要通过检索 BTC NFT 的铭文 ID(inscription ID)

  • Get transactions by collection(该接口返回某个 collection 的交易列表,交易按时间戳降序排序)

  • Search transactions(该接口返回在请求正文中应用搜索过滤器来返回 Ordinals 交易列表)

这里我们通过Get transactions by inscription ID接口,接口路径为:“/btc/transactions/{inscription_id}”,检索 inscription ID 为6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0 的交易记录,查询参数字段可供选择包括 event_type(交易事件类型):Mint/Transfer 使用 ';'用来分隔多个事件。

如何使用 Ordinals API 在 Bitcoin 网络上开发 Web3 应用

3/Retrieve Collections系列

  • Get an NFT collection(根据 Collection 名称查询详情)

  • Search NFT collections(此接口通过在请求正文中应用搜索过滤器来返回集合列表的信息。集合按 create_block_number 升序排序)

这里我们通过接口Getan NFT collection“//btc/collections/{collection}”检索 Collection名称为Bitcoin Frogs的详情信息:

如何使用 Ordinals API 在 Bitcoin 网络上开发 Web3 应用

构建相关 NFT API 请求

一旦在 NFTScan的API文档中找到所需的OrdinalsAPI接口和参数后,开发者可以使用选择的编程语言编写 API请求代码,设定API端点和请求参数,并使用HTTP请求库发送请求,处理 API响应数据。例如,在Python 中,可以使用requests库发送 GET请求,设定API端点和请求头,并根据需要配置请求参数,最后处理并打印响应数据。

这里我们使用Getan NFT collection“//btc/collections/{collection}”检索 Collection名称为Bitcoin Frogs的详情信息,HTTP GET 请求访问 NFTScan 的 API 接口,使用 Python 的 requests 库,可以这样构建请求:

import requests

# Set the API endpoint and Collection name
collection_name = "Bitcoin Frogs"
api_url = f"https://api.nftscan.com/v1/btc/collections/{collection_name}"

# Set the request headers
headers = {
    "Authorization": "Bearer YOUR_API_KEY",  # Replace YOUR_API_KEY with your actual API key
    "Content-Type": "application/json"
}

# Send the GET request
response = requests.get(api_url, headers=headers)

# Handle the response data
if response.status_code == 200:
    data = response.json()
    print("API Response Data:", data)
else:
    print("Request failed with status code:", response.status_code)