{"content":{"title":"如何使用 NFTScan BTC API 快速创建 NFT 应用程序？","body":"<!--StartFragment-->\r\n\r\nBitcoin NFT 又称 Bitcoin Ordinals 协议，是一种在 BTC 区块链上创建数字资产的方法。2023 年 1 月，由软件工程师 Casey Rodarmor 在 BTC 比特币区块链上构建的 Ordinals NFT 协议正式发布，允许用户在比特币最小单位 Satoshi（SAT）上创建独一无二的 NFT，旨在为每 satoshis（sat）分配唯一身份。\r\n\r\n\r\n\r\n\r\n通过使用 Ord 软件，该协议将数据添加到这些 sats，并允许软件用户基于一个序数（ordinal numbers）系统来跟踪它们。换句话说，Ordinal 协议将比特币最小单位 sats 以 NFT 的形式表现出来，并为 sats 赋予了理由充分的交易价值和收藏价值。自从 Ordinals 协议诞生后，用户就可以在比特币链上铭刻信息，包括文字 / 图片 / 音频 / 视频，从而创造出了 BTC 链上的 NFT。\r\n\r\n\r\n\r\n\r\n从 Ordinals 发布以来，越来越多的人开始铸造 Bitcoin NFT，就目前发展还处于早期的阶段，生态系统尚未完善，但其热度不减及数量增长十分迅速。根据 Bitcoin NFTScan 的数据显示，截止到 7 月 27 号，比特币网络上已经累计铭刻了 1979 万枚 NFT 资产，有 60.5 万个比特币钱包地址持有 NFT 资产，NFTScan 目前已经解析收录了 1534 个 Bitcoin 网络上的 NFT Collection。开发者可以基于 NFTScan 的 Bitcoin NFT API 快速创建相关应用程序，例如开发一个 NFT Marketplace 等等。\r\n\r\n\r\n\r\n\r\n**Bitcoin NFTScan：**[**https://btc.nftscan.com/**](https://xie.infoq.cn/link?target=https%3A%2F%2Fbtc.nftscan.com%2F)\r\n\r\n\r\n![](https://static001.geekbang.org/infoq/f0/f0cbb23e5cfa3fb2533e470ad7f52998.png)\r\n\r\n**怎样访问 NFTScan NFT API**\r\n\r\n\r\n\r\n\r\n**1/ 创建 NFTScan 开发者账号**\r\n\r\n在开始使用 NFTScan API 之前，首先需要访问开发者网站并创建一个账户。前往 NFTScan 官方网站（[https://developer.nftscan.com/user/signup](https://xie.infoq.cn/link?target=https%3A%2F%2Fdeveloper.nftscan.com%2Fuser%2Fsignup)）点击 NFTScan API “Sign Up”按钮进行注册。\r\n\r\n![](https://static001.geekbang.org/infoq/e7/e716243785661283940c7332ac4dd370.png)\r\n\r\n登录后在 Dashboard（面板）上找到自己独有的 API KAY，将其复制。访问 API 文档，将自己的 API KEY 输进 API 文档的相应位置。根据文档的指引，就可以开始使用 API 服务了。在 API 文档中，开发者可以找到多种可供选择的接口模式，根据需求来选择最合适的接口。\r\n\r\n![](https://static001.geekbang.org/infoq/2a/2a36dbcb7aa6c9b008a345724ab09686.png)\r\n\r\n在 Dashboard 中，开发人员还可以查看自己 API 使用情况的统计数据，帮助记录历史使用数据。不仅如此，NFTScan 还为每位注册开发者提供 1M CU 的 API 调用服务，用于请求所有的 NFT API 接口，并且 CU 永不过期，用完为止！\r\n\r\n![](https://static001.geekbang.org/infoq/82/82ef476ada8e280966aee25f2ad5f449.jpeg?x-oss-process=image%2Fresize%2Cp\\_80%2Fauto-orient%2C1)\r\n\r\n**查看 Bitcoin API 文档**\r\n\r\n在成功注册开发者账获取 API Key 后，您需要查看 NFTScan API 文档。API 文档包含了所有可以使用的 API 端点和参数，以及如何构建请求和处理响应的详细信息。请认真阅读 API 文档，并确保理解如何使用 API 来获取您需要的数据。NFTScan API 服务致力于帮助开发者改善获取 NFT 数据分析体验。\r\n\r\n\r\n\r\n\r\nNFTScan 目前拥有全网最大最全的 NFT Collection 库，已支持 Ethereum、Solana、BNBChain、Bitcoin、Polygon、Aptos、Linea、Avalanche、Arbitrum、Optimism、Fantom、Moonbeam、PlatON、Cronos、Gnosis 15 条区块链的 NFT 全量数据，所涵盖的 NFT 数据全、种类丰富，提供一整套的接口来获得 ERC721 和 ERC1155 资产以及交易、项目、市场统计等信息，现在支持 50 多个针对 EVM 兼容链的公共接口，以及针对 Solana、Aptos、Bitcoin 的一批相同模型的接口，很大程度上满足了开发者索引多种类型的 NFT 数据的需求。\r\n\r\n![](https://static001.geekbang.org/infoq/b9/b938ac02a0693aa68f8edbc10ca04301.png)\r\n\r\nBitcoin API 主要包括了以下三个模型：Asset Model/Transaction Model/Collection Model，包括里面一些核心的字段的整体介绍和说明，方便开发者知道怎么去利用这些信息服务于自己正在构建的 Dapp 服务。\r\n\r\n\r\n\r\n\r\n**Assets API**：Assets 是 NFT 最关键的数据字段，可用于标识并描述该数字资产。开发者可以提取 BTC 区块链上 NFT 的关键数据，从而建立起全面认知，并构建相关应用。Assets 对象提供了数字资产的唯一标识以及全生命周期的数据，是开发者理解和应用 NFT 的基础。\r\n\r\n\r\n\r\n\r\nNFTScan BTC API 中的核心数据模型即为 Assets，它代表了每一个独特的数字项目，主要包括了铭文 id、铭文编号、collection 名称、tx_hash、区块 number、mint 价格、持有者等全面数据。\r\n\r\n\r\n\r\n\r\n**Transactions API**：交易模型代表了区块链上一个 NFT 资产的全量交易数据，为开发者提供了 NFT 的全生命周期交易数据。NFTScan 不断收录各个区块链网络上的 NFT 交易市场及其交易合约信息，通过分析和解读合约源代码和交易日志，并将其纳入其数据解析逻辑中。根据 NFTScan 数据，截至 7 月底，主流 15 条链上 NFT 链上记录数量共 2,126,014,489 条，目前已收录了主流 14 条链上的 150 个交易市场全面信息，持续收录其交易数据。\r\n\r\n\r\n\r\n\r\n用户可以通过 Transactions API 获取任意 NFT 资产完整的交易记录、行为日志及当前所有权信息，实现对 NFT 的全面跟踪，为开发者分析 NFT 的交易特征、价格走势、流转路径等提供了全面可靠的数据来源。\r\n\r\n\r\n\r\n\r\n**Collections API**：NFTScan 获取与 NFT Collections 相关的描述、社交媒体及其他基本信息等都链下数据。NFTScan 通过各个区块链网络中最主流的 NFT 市场提供的 API 获取这些信息。此外当前地板价信息是基于 NFT 市场的订单信息的集中式数据，也是通过 API 可获取的。\r\n\r\n\r\n\r\n\r\nNFTScan 会持续跟踪新出现的 NFT 项目，并快速获取其在各交易平台公开的链下数据信息，通过 Collections API 开放给开发者，这使得开发者可以无需逐个聚合不同平台的数据，就可以通过 Collections API 获取项目的链下描述、持有者、交易活动等关键信息，并集成到应用中。\r\n\r\n![](https://static001.geekbang.org/infoq/c2/c220683606426a1d7d5ff33230c566c9.png)\r\n\r\n**查询相关 API**\r\n\r\n\r\n\r\n\r\n**Get NFTs by collection**：通过 NFTScan BTC API Retrieve Assets 的接口之一“/btc/assets/collection/{collection}”开发者可以通过检索 NFT Collection 的名称，该接口返回一组属于 NFT 合约地址的 NFTs，并且按 inscription_id 升序排序。\r\n\r\n![](https://static001.geekbang.org/infoq/d9/d96ed52087c943ebf03783e9a42b01a8.png)\r\n\r\n输入检索 NFT Collection 的名称，点击 Try it 将返回该集合下的所有 NFT 资产的详细信息返回数据等等，数据默认分页返回，可通过 limit 和 cursor 参数控制每页数量和页码。获取到所有 NFT 数据后，可以用于展示、分析或其他应用场景。使用这个 API 可以方便地批量获取某个 NFT 项目中的所有 NFT 数据，为打造 NFT 应用提供强大支持。数据显示如下：\r\n\r\n![](https://static001.geekbang.org/infoq/7d/7d64687a0862be6c1c249d58e9e6f4f1.png)\r\n\r\n**Get cursed inscriptions**：该接口返回一组被诅咒的铭文 NFT，NFT 按 inscription_number 升序排序。比特币 NFT 协议 Ordinals 已经升级到了 v0.6.0 版本，该版本中最引人注目的更新当属对「诅咒铭文」的支持， 一些被成功刻录的铭文没有被索引器分配序号而无法被检索，即被称为「诅咒铭文」。NFTScan 同样对其数据进行整合收录，方便开发者们使用。\r\n\r\n![](https://static001.geekbang.org/infoq/15/151c63d838347f3e3fdbc9ea24953030.png)\r\n\r\n**Get transactions by inscription ID** ：该接口主要通过检索 BTC NFT 的铭文 ID（inscription ID），接口路径为：“/btc/transactions/{inscription_id}”，开发者可以方便获取某个 NFT 从 Mint 到所有流转的全生命周期交易数据，开发者以实现对 NFT 历史的追溯分析。\r\n\r\n查询参数字段可供选择包括 event_type（交易事件类型）：Mint/Transfer 使用 ';'用来分隔多个事件。\r\n\r\n![](https://static001.geekbang.org/infoq/6f/6f168aeb6b5aaf4755a0510d03e53d63.png)\r\n\r\n**构建相关 API 请求**\r\n\r\n一旦在 NFTScan 的 API 文档中找到所需的 BTC API 接口和参数后，开发者可以使用选择的编程语言编写 API 请求代码。访问 NFTScan 的 API 文档，会提供以下信息：\r\n\r\n* API 端点（Endpoint）：API 请求的 URL 地址，通常以 HTTP 或 HTTPS 开头。\r\n* 支持的请求方法（HTTP Methods）：常见的请求方法有 GET、POST、PUT、DELETE 等，用于指定对 API 的操作类型。\r\n* 请求参数（Request Parameters）：API 请求可能需要传递一些参数，这些参数可以是 URL 参数、请求体中的数据等，用于指定请求的具体内容。\r\n* 响应数据（Response Data）：API 请求成功后，服务器会返回相应的数据，通常以 JSON 或 XML 格式进行返回。\r\n\r\n\r\n\r\n\r\n开发者在选择使用的编程语言中，可以使用 HTTP 库或 API 客户端库来发起 HTTP 请求，并将所需的参数和头部信息包含在请求中。例如，使用 Python 可以使用 requests 库，而使用 JavaScript 可以使用 axios 或 fetch 等库。\r\n\r\n\r\n\r\n\r\n编写 API 请求代码的一般流程如下：\r\n\r\n1. 引入所需的 HTTP 库或 API 客户端库。\r\n2. 构建 API 请求的 URL，包含端点和参数（如果有）。\r\n3. 设置请求方法、请求头（如果需要认证）以及请求体（如果是 POST 或 PUT 请求）。\r\n4. 发起 API 请求并接收服务器的响应。\r\n5. 解析响应数据并进行相应处理。\r\n\r\n\r\n\r\n\r\n记得在编写 API 请求代码时，查阅 NFTScan 的 API 文档，确保正确使用 API 端点、参数和认证方式以便成功与 NFTScan 进行交互获取所需的数据。\r\n\r\n\r\n\r\n\r\n例如，构建一个请求获取 Bitcoin Frogs NFT 数据的 API 请求，查找 NFTScan BTC API 的文档或参考文档后，这里使用接口 \r\n\r\n**Get NFTs by collection：**“/btc/assets/collection/{collection}”\r\n\r\n使用 HTTP GET 请求访问 NFTScan 的 API 端点，并传递所需的参数。例如，使用 Python 的 requests 库，可以这样构建请求：\r\n\r\n![](https://static001.geekbang.org/infoq/41/41dfdd256a253207765cdc6a0f01be8a.png)\r\n\r\n在上述代码中，我们首先构建了完整的 API 请求 URL，然后使用 requests.get() 方法发送 GET 请求，并从响应中获取返回的 NFT 数据（假设 NFT 数据是以 JSON 格式返回的）。最后开发者可以根据需求对获取到的 NFT 数据进行进一步处理和分析。\r\n\r\n\r\n\r\n\r\n不仅是 Bitcoin NFT API，开发者可以根据自己的应用构建需求，灵活调取 NFTScan 提供的丰富 NFT 数据资源。NFTScan 的 NFT API 为开发者提供了全面、实时、可靠的 NFT 核心数据，使开发者能够快速获取所需的 NFT 数据，大大简化和加速开发过程。开发者可以按照自己的业务场景自由组合这些 API，构建符合自己需求的 NFT 应用程序或解决方案。NFTScan 持续优化 API，推出更多高级功能，以进一步提升开发者的工作效率，降低开发成本。为开发者提供了专业可靠的 NFT 基础数据支撑，使开发者能更加专注于应用程序的创新。\r\n\r\n\r\n\r\n\r\n***\r\n\r\n\r\n\r\n\r\n**About NFTScan**\r\n\r\n\r\n\r\n**NFTScan 成立于 2021 年 4 月份，总部位于中国.香港，是全球领先的 NFT 数据基础设施服务商，目前已支持 Bitcoin、Ethereum、BNBChain、Polygon、Solana、Arbitrum、Optimism、Aptos 等在内的 15 条主流区块链网络。NFTScan 团队致力于为数以亿计的 Web3 用户提供简洁高效的 NFT 检索服务，为新一代金融科技公司提供安全稳定的多链 NFT 索引服务，用数据来推动 NFT 生态的繁荣发展！目前，NFTScan 在为包括 CMC、Binance NFT、Bybit Web3、KuCoin、HashKey Group 、SafePal、Mask、imToken、Enjin、Coin98、OneKey、AlienSwap 等在内的 4000+ 开发者提供多链 NFT 数据支持！**\r\n\r\n##### 相关网站：\r\n\r\nNFTScan: [***https://nftscan.com/***](https://xie.infoq.cn/link?target=https%3A%2F%2Fnftscan.com%2F)\r\n\r\n\r\nDeveloper: [***https://developer.nftscan.com/***](https://xie.infoq.cn/link?target=https%3A%2F%2Fdeveloper.nftscan.com%2F)\r\n\r\n\r\nTwitter: @nftscan_com\r\n\r\nDiscord: [***https://discord.gg/nftscan***](https://xie.infoq.cn/link?target=https%3A%2F%2Fdiscord.gg%2Fnftscan)\r\n\r\n\r\n**欢迎关注 NFTScan 官方推特获取最新动态，有关 NFT 数据服务等商务合作请联系 Telegram: Shier1992**\r\n\r\n<!--EndFragment-->"},"author":{"user":"https://learnblockchain.cn/people/10111","address":null},"history":null,"timestamp":1690521819,"version":1}