2024 年 5 月 16号,NFTScan 团队正式全面升级了BitcoinNFT 浏览器。随着Ordinals 铭文生态的崛起开始,Bitcoin链上活动极大增加,市场被广泛认可,NFT 生态逐渐蓬勃发展。此次Bitcoin NFTScan 浏览器对Ordinals 铭文板块进行了全面升级,优化了 NFT 数据解析以及来自不同交易市场的交易解析功能等等。

目前,NFTScan 开发者平台也已经同步更新了Bitcoin网络的 NFT API 数据服务,包括对外开放的多个API 查询接口。NFTScan 作为 Bitcoin 生态的 NFT 基础设施,将持续不断地进行功能开发和服务开放,为Bitcoin生态内的开发者和 NFT 用户提供优质的NFT API数据服务和钱包地址 NFT 资产数据搜索查询服务。

对Ordinals 铭文数据的全面升级,更新包括但不限于:

  • 根据 Ordinals 官方最新协议全面优化 NFT 数据解析体系,确保铭文数据正确无遗漏;

  • 新增收录 unisat 和 OKX 官方合集信息,Collection 归集维度更丰富;

  • 新增交易市场交易解析,可区分来自 unisat、OKX 和 MagicEden 的 NFT 铭文买卖事件;

此次升级新增:“Retrieve BRC-20 Tick"、"Retrieve BRC-20 Balances"、"MerlinProtocol BRC-20 Indexer" 三个系列的 API 接口,满足各种业务场景下对 NFT 数据的索引需求。

如何利用 NFTScan NFT API 在 Bitcoin 网络上开发 Web3 应用

怎样访问NFTScan NFT API

1/ 创建NFTScan 开发者账号

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

如何利用 NFTScan NFT API 在 Bitcoin 网络上开发 Web3 应用

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

如何利用 NFTScan NFT API 在 Bitcoin 网络上开发 Web3 应用

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

 

查看BitcoinNFT API 文档

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

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

如何利用 NFTScan NFT API 在 Bitcoin 网络上开发 Web3 应用

BitcoinAPI 模型

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

Assets API:"Assets"是 NFT 中最关键的数据字段,用于唯一标识和描述数字资产。开发者可以通过提取BTC区块链上 NFT 的"Assets"数据来获取全面的了解,并构建相关应

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

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

如何利用 NFTScan NFT API 在 Bitcoin 网络上开发 Web3 应用

新增BitcoinAPI系列

1/Retrieve BRC-20 Tick系列

  •  

    Get a BRC-20 tick(该接口返回BRC-20 tick 的信息)

    SearchBRC-20 ticks(该接口通过在请求正文中应用搜索过滤器来返回 BRC-20 tick列表的信息,tick 按块编号升序排序)

     

这里我们通过Get a BRC-20tick接口为“/btc/brc20/tick/{tick}”来检索代币名称为ordi 的详情信息,数据返回如下:

"tick":"ordi"

"inscription_id":"b61b0172d95e266c18aea0c624db987e971a5d6d4ebc2aaed85da4642d635735i0"

"supply":"21000000"

"minted":"21000000"

"limit_per_mint":"1000"

"decimal":18

"block_number":779832

"creator":"bc1pxaneaf3w4d27hl2y93fuft2xk6m4u3wc4rafevc6slgd7f5tq2dqyfgy06"

"timestamp":"1678248991000"

如何利用 NFTScan NFT API 在 Bitcoin 网络上开发 Web3 应用

2/Retrieve BRC-20 Balances系列

  • Get BRC-20 owners by tick(该接口返回一组某 BRC-20 tick 的持有者数据)

  • Get BRC-20 ticks by account(该接口返回一组某 BRC-20 tick 的钱包地址数据)

  • Get single BRC-20 tick by account(该接口返回单个BRC-20 tick 的钱包地址数据)

这里我们通过Get BRC-20 owners by tick接口为“/btc/brc20/balance/{tick}”来检索持有代币名称为ordi 的 owners详情信息,一共返回数据 12427 条:

如何利用 NFTScan NFT API 在 Bitcoin 网络上开发 Web3 应用

3/MerlinProtocol BRC-20 Indexer系列

  • Get ticker full history(获取某 tick 完整历史记录)

  • Get Address BRC-20 Summary(获取指定地址下持有的BRC-20摘要)

  • GetTransferable Inscriptions(按地址获取 BRC-20的可转移铭文清单)

  • Get BRC-20 Holders(获取 BRC-20 持有者)

这里我们通过Get Address BRC-20 Summary 接口为 “/btc/brc20/address/{address}/brc20/summary” 来检索指定地址下持有的全部 BRC-20 摘要,这里我们检索地址为 bc1qggf48ykykz996uv5vsp5p9m9zwetzq9run6s64hm6uqfn33nhq0ql9t85q,数据返回如下​:

如何利用 NFTScan NFT API 在 Bitcoin 网络上开发 Web3 应用

构建相关 NFTAPI 请求

开发者可以使用不同的语言来编写调用 NFTScan API 的代码如 Python、Java、JavaScript 等等 。例如在 Python 中,可以使用 requests 库来发起 API 请求;在 JavaScript 中可以使用 axios;在 Java 中可以用 OkHttp 或 Retrofit 等库。编写代码时,开发者只需组织好接口参数,如合约地址、API Key 等,调用对应的NFTScan 接口,就可以方便地获取到标准化的 JSON 格式数据。

这里我们使用接口Get Transferable Inscriptions:“/btc/brc20/address/{address}/brc20/{ticker}/transferable-inscriptions”

对Bitcoin链上地址bc1qggf48ykykz996uv5vsp5p9m9zwetzq9run6s64hm6uqfn33nhq0ql9t85q下的 ordi 代币Transferable Inscriptions详情数据进行调取,HTTP GET 请求访问 NFTScan 的 API 接口,使用 Python 的 requests 库,可以这样构建请求:

import requests

def get_transferable_inscriptions(address, ticker, api_key):
    """
    Call the NFTScan API to get detailed data of transferable BRC-20 tokens for a specific Bitcoin address.

    Parameters:
    address (str): Bitcoin address
    ticker (str): BRC-20 token ticker
    api_key (str): NFTScan API key

    Returns:
    dict: JSON data returned by the API
    """
    # Define API base information
    base_url = "https://api.nftscan.com/btc/brc20/address"
    url = f"{base_url}/{address}/brc20/{ticker}/transferable-inscriptions"

    # Set request headers
    headers = {
        "Content-Type": "application/json",
        "Authorization": f"Bearer {api_key}"
    }

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

    # Handle response
    if response.status_code == 200:
        # Request successful
        return response.json()
    else:
        # Request failed
        raise Exception(f"Error {response.status_code}: {response.text}")

if __name__ == "__main__":
    # Define the Bitcoin address and BRC-20 token ticker to query
    address = "bc1qggf48ykykz996uv5vsp5p9m9zwetzq9run6s64hm6uqfn33nhq0ql9t85q"
    ticker = "ordi"
    api_key = "YOUR_API_KEY"  # Replace with your actual API key

    try:
        # Get transferable inscriptions data
        data = get_transferable_inscriptions(address, ticker, api_key)
        print("Transferable Inscriptions Data:", data)
    except Exception as e:
        print(e)
  1. 函数定义:

    • get_transferable_inscriptions:一个接受address、ticker和api_key参数的函数,用于调用 NFTScan API 并返回 JSON 数据。

  2. 主程序:

    • 使用if __name__ == "__main__":结构来确保脚本可以被直接运行。

    • 定义需要查询的 Bitcoin 地址、BRC-20 代币 ticker 和 API 密钥。

    • 调用get_transferable_inscriptions函数,并打印返回的 JSON 数据。

    • 使用try和except块来捕获和处理可能的异常。

注意事项

  • 将"YOUR_API_KEY"替换为实际 NFTScan API Key;

  • 运行此脚本之前,请确保已经安装了requests库​。

该脚本展示了如何调用 NFTScan API 获取 Bitcoin 链上某个地址下的 BRC-20 代币的可转让详细数据。如果你是 NFT 和 Web3 领域的开发者,欢迎使用 NFTScan 开发者平台提供的 Bitcoin 网络的 NFT API 数据服务,快速在 Bitcoin 网络上构建产品和协议!​