{"content":{"title":"指南：通过 NFTScan API 获取钱包地址的 NFT Statistics 全量数据","body":"<!--StartFragment-->\r\n\r\n获取钱包地址的全量 NFT 及统计分析数据对于开发者和投资者来说都是十分重要的。具体来说：对开发者而言，获取每个钱包的完整资产数据，并进行统计分析，是构建钱包管理工具、资产分析应用的基础，这些应用都需要全面且精确地反映每个钱包的资产配置情况。对投资者而言，统计分析钱包的资产数据，可以洞察重要账户的资产结构、交易模式等信息，对做出投资决策至关重要。这些数据正确地表示每个钱包地址的全量资产情况，是开发与投资不可或缺的重要基础，为 NFT 生态系统的参与者提供了不可或缺的见解和支持。数据的透明性和可信度还有助于增强市场的信任和合作，推动 NFT 领域的创新和发展。\r\n\r\n\r\n\r\n\r\n根据 NFTScan 数据显示，截止目前 9 月 28 日以太坊上一共产生了 枚 147,965,427 NFT 资产，256,154,198 条链上记录，10,199,868 个有过交互的钱包地址。\r\n\r\n\r\n![1.png](https://img.learnblockchain.cn/attachments/2023/09/conbIhfS65151fd7a5755.png)\r\n\r\n传统上，获取和分析这些全量的数据需要大量手动工作，现在开发者和投资者可以通过调用相关的统计类接口，以编程方式获取每个钱包的资产统计数据，包括多链 NFT、持仓价值等。NFTScan 提供了 Account Statistics 类接口，极大地帮助开发者轻松获取各钱包地址的数字资产统计数据，简化并优化对链上数据的获取和分析工作，为构建钱包分析、资产管理等应用提供了坚实基础，也使得基于链上数据的研究和投资决策变得更高效。\r\n\r\n\r\n\r\n\r\n**怎样访问 NFTScan NFT API**\r\n\r\n\r\n\r\n\r\n**创建 NFTScan 开发者账号**\r\n\r\n在开始使用 NFTScan API 之前，首先需要访问开发者网站并创建一个账户。前往 NFTScan 官方网站点击 NFTScan API “Sign Up”按钮进行注册。\r\n\r\n[https://developer.nftscan.com/user/signup](https://xie.infoq.cn/link?target=https%3A%2F%2Fdeveloper.nftscan.com%2Fuser%2Fsignup)\r\n\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\r\n\r\n\r\n在 Dashboard 中，开发人员还可以查看自己 API 使用情况的统计数据，帮助记录历史使用数据。不仅如此，NFTScan 还为每位注册开发者提供 1M CU 的 API 调用服务，用于请求所有的 NFT API 接口，并且 CU 永不过期，用完为止！\r\n\r\n\r\n\r\n\r\n**查看 API 文档**\r\n\r\n\r\n\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、TON、Polygon、zkSync、Aptos、Linea、Base、Avalanche、Arbitrum、Optimism、Fantom、Moonbeam、PlatON、Cronos、Gnosis 18 条区块链的 NFT 全量数据，所涵盖的 NFT 数据全、种类丰富，提供一整套的接口来获得 ERC721 和 ERC1155 资产以及交易、项目、市场统计等信息，现在支持 50 多个针对 EVM 兼容链的公共接口，以及针对 Solana、Aptos、Bitcoin 的一批相同模型的接口，很大程度上满足了开发者索引多种类型的 NFT 数据的需求。\r\n\r\n![](https://static001.geekbang.org/infoq/e2/e2f544e0829776449074d73bc493fe7e.png)\r\n\r\n\r\n\r\n\r\n**检索 Account Statistics 数据相关 API**\r\n\r\n\r\n\r\n\r\n**1）Account Overview Statistics：**/v2/statistics/overview/{account_address}\r\n\r\n该 API 允许开发者以程序化方式获取指定以太坊钱包地址的数字资产统计总览数据。开发者只需要输入想查询的钱包地址，该 API 就可以返回该地址的 NFT 等多链资产的持有数量、具体持仓项目、总体价值分布、近期交易活动概览等多维度统计信息，资产配置的数据可以全面反映一个钱包地址的资产概况，直接调用该 API 就可以获得完整的钱包资产统计分析，该 API 为构建钱包管理、资产数据分析、投资决策支持等应用提供了重要的数据接口。\r\n\r\n可参考 NFT Account Overview：\r\n\r\n[https://www.nftscan.com/0xca1257ade6f4fa6c6834fdc42e030be6c0f5a813](https://xie.infoq.cn/link?target=https%3A%2F%2Fwww.nftscan.com%2F0xca1257ade6f4fa6c6834fdc42e030be6c0f5a813)\r\n\r\n\r\n![3.png](https://img.learnblockchain.cn/attachments/2023/09/BWFgw5Sf65151ffcd0399.png)\r\n\r\n![4.png](https://img.learnblockchain.cn/attachments/2023/09/eogr99xz6515200291e9b.png)\r\n\r\n\r\n开发者可以通过右上方 EVM 多链选择钱包地址，这里我们选择以太坊巨鲸地址作为示例： \r\n\r\n0xca1257ade6f4fa6c6834fdc42e030be6c0f5a813，输入自己的 api-key，点击 Try it，数据返回显示 16 个 data：\r\n\r\n\"持有价值\": 821.9923 ETH\r\n\r\n\"买入价值\": 212.81 ETH\r\n\r\n\"卖出价值\": 669.24 ETH\r\n\r\n\"gas 消耗\": 0.9 ETH\r\n\r\n\"持有价值 usdt\": 1306877.34\r\n\r\n\"买入价值 usdt\": 338344.49\r\n\r\n\"卖出价值 usdt\": 1064017.98\r\n\r\n\"gas 消耗 usdt\": 1430.9\r\n\r\n\"持有数量\": 652\r\n\r\n\"mint 数量\": 291\r\n\r\n\"买入数量\": 8\r\n\r\n\"售出数量\": 70\r\n\r\n\"发送数量\": 105\r\n\r\n\"接收数量\": 645\r\n\r\n\"销毁数量\": 23\r\n\r\n\"持有 collection 数量\": 360\r\n\r\n\r\n\r\n![5.png](https://img.learnblockchain.cn/attachments/2023/09/sjavsNXp65152021b75d1.png)\r\n\r\n\r\n\r\n\r\n**2）Account Holding Distribution：**/v2/statistics/distribution/{account_address}\r\n\r\n该接口返回账户地址的 NFT 持有分布统计信息，开发者通过调用该接口并传入账户地址参数，可以获取该账户地址当前持有的所有 NFT 详情分布情况。包括持仓资产的总数量，以及按照 NFT Collection 划分资产数量、总价值等统计数据，无需开发者处理链上数据，为构建资产分析和投资组合管理应用提供了重要的数据支持。详情可参考 NFTScan Portfolio：\r\n\r\n[https://portfolio.nftscan.com/account/0x020ca66c30bec2c4fe3861a94e4db4a498a35872](https://xie.infoq.cn/link?target=https%3A%2F%2Fportfolio.nftscan.com%2Faccount%2F0x020ca66c30bec2c4fe3861a94e4db4a498a35872)\r\n\r\n\r\n路径参数这里选择了\r\n\r\n0x020ca66c30bec2c4fe3861a94e4db4a498a35872 该地址，查询参数包括 volume/amount，分别返回按照交易量和数量的持有 NFT 统计分布数据。\r\n\r\n\r\n![6.png](https://img.learnblockchain.cn/attachments/2023/09/cIgM1QHB65152073954b0.png)\r\n\r\n返回数据包括以下：\r\n\r\n**—**\"合约地址\":\r\n\r\n\"0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d\"\r\n\r\n\"项目名称\":\" BoredApeYachtClub\"\r\n\r\n\"持有价值\": 3513.51 ETH\r\n\r\n\"持有占比\":\"71.97%\"\r\n\r\n**—**\"合约地址\":\r\n\r\n\"0xc73b17179bf0c59cd5860bb25247d1d1092c1088\"\r\n\r\n\"项目名称\":\"QQL Mint Pass\"\r\n\r\n\"持有价值\": 682.5 ETH\r\n\r\n\"持有占比\": \"13.98%\"\r\n\r\n**—**\"合约地址\":\r\n\r\n\"0x60e4d786628fea6478f785a6d7e704777c86a7c6\"\r\n\r\n\"项目名称\": \"MutantApeYachtClub\"\r\n\r\n\"持有价值\": 368.6 ETH\r\n\r\n\"持有占比\": \"7.55%\"\r\n\r\n**—**\"合约地址\":\r\n\r\n\"0x3c6fbc94288f5af5201085948ddb18aded2e6879\"\r\n\r\n\"项目名称\": \"DeFiApes\"\r\n\r\n\"持有价值\": 195.795 ETH\r\n\r\n\"持有占比\": \"4.01%\"\r\n\r\n**—**\"合约地址\":\r\n\r\n\"0x7a63d17f5a59bca04b6702f461b1f1a1c59b100b\"\r\n\r\n\"项目名称\": \r\n\r\n\"Winds of Yawanawa by Yawanawa and Refik Anadol\"\r\n\r\n\"持有价值\": 43.75 ETH\r\n\r\n\"持有占比\": \"0.9%\"\r\n\r\n**—**\"合约地址\": NULL\r\n\r\n\"项目名称\": \"other\"\r\n\r\n\"持有价值\": 77.82 ETH\r\n\r\n\"持有占比\": \"1.59%\"\r\n\r\n\r\n![AA.png](https://img.learnblockchain.cn/attachments/2023/09/7uoidvDh6515208124a80.png)\r\n\r\n\r\n\r\n**构建相关 NFT 请求**\r\n\r\n\r\n\r\n\r\n当开发者在 NFTScan 的 API 文档中查找到 Account Statistics 相关的接口和参数后，可以使用自己熟悉的编程语言(如 Python、Java、JavaScript 等)来调用这些接口，编写获取账户统计数据的 API 请求代码，开发者可以方便地组织接口参数，发起请求并处理返回的数据。\r\n\r\n\r\n\r\n\r\nNFTScan 的 SDK 库还提供了对智能合约的无缝部署和通过 NFTScan API 调用常见合约定义的方法和功能，消除了开发者需要掌握 Solidity、编译代码或导入 ABI 的需求。通过使用 SDK，开发者可以轻松地在支持的网络上使用 JavaScript 执行调用操作。此外，SDK 还明确了标准的读取和写入方法，其中读取方法可以通过交互式 REST API 进行试用。\r\n\r\n\r\n\r\n\r\n例如这里通过\r\n\r\n/v2/statistics/distribution/{account_address} 接口请求一个地址的 NFT 详情分布情况。\r\n\r\n\r\n\r\n\r\n**步骤 1：导入必要的库和模块**\r\n\r\n首先，需要导入必要的库和模块，以便在代码中发起 HTTP 请求并处理响应数据。在 Python 中，你可以使用 requests 库来完成这些任务。确保已安装该库，如果没有，可以使用 pip install requests 来安装。\r\n\r\n\r\n![11.png](https://img.learnblockchain.cn/attachments/2023/09/Q26G57xw651520a80b3e0.png)\r\n\r\n**步骤 2：设置 API 请求的基本信息**\r\n\r\n在这一步需要设置 API 请求的基本信息，包括 API 的根 URL 和所需的参数。在这里， 将替换 {account_address} 参数为想要查询的钱包地址。\r\n\r\n\r\n![22.png](https://img.learnblockchain.cn/attachments/2023/09/ayRlblV8651520ae8de7e.png)\r\n\r\n**步骤 3：构建 API 请求**\r\n\r\n使用 requests 库构建 API 请求。这通常包括指定 HTTP 请求的类型（GET、POST 等）和请求头（如果需要）。在这里，我们将发起一个 GET 请求。\r\n\r\n\r\n![33.png](https://img.learnblockchain.cn/attachments/2023/09/pAz20oAO651520b4e1309.png)\r\n\r\n**步骤 4：处理 API 响应**\r\n\r\n最后，需要处理 API 响应的数据。通常，API 会以 JSON 格式返回数据，开发者可以使用 Python 的内置 JSON 解析器来解析响应。\r\n\r\n\r\n![44.png](https://img.learnblockchain.cn/attachments/2023/09/qOhwzqrv651520ba8a9b7.png)\r\n\r\n这就是一个使用 Python 来发起 NFTScan Account Holding Distribution API 请求的基本示例。请注意，开发者可以根据需要添加错误处理和数据处理的逻辑，以满足具体需求。\r\n\r\n\r\n\r\n\r\n最后，NFTScan 的目标是为开发者提供简化优化的数据接口，加快他们在 NFT 领域的应用开发和创新速度。通过提供高质量、一致性和可靠性的 NFT 数据，NFTScan 使开发者能够更快速地构建应用程序，同时也减轻了他们解析和处理 NFT 原始数据的负担。给开发者带来很大便利，使其无需重复开发获取和处理 NFT 数据的基础功能，能更加专注在应用创新和核心业务逻辑的开发上。NFTScan 为开发者提供可靠的数据基础设施支持，是开发者构建 NFT 应用的重要助力。\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\r\n**NFTScan 成立于 2021 年 4 月份，总部位于中国香港，是全球领先的 NFT 数据基础设施服务商，目前已支持 Bitcoin、Ethereum、BNBChain、Polygon、Solana、Linea、Arbitrum、Optimism、zkSync、Aptos 等在内的 18 条主流区块链网络。NFTScan 团队致力于为数以亿计的 Web3 用户提供简洁高效的 NFT 检索服务，为新一代金融科技公司提供安全稳定的多链 NFT 索引服务，用数据来推动 NFT 生态的繁荣发展！目前，NFTScan 在为包括 CMC、Binance NFT、Bybit Web3、KuCoin、HashKey Group 、SafePal、Mask、imToken、Enjin、Coin98、OneKey、TokenPocket、AlienSwap 等在内的 4000+ 开发者提供多链 NFT 数据支持！**\r\n\r\n##### 相关网站：\r\n\r\n***NFTScan: ***[***https://nftscan.com/***](https://xie.infoq.cn/link?target=https%3A%2F%2Fnftscan.com%2F)\r\n\r\n\r\n***Developer: ***[***https://developer.nftscan.com/***](https://xie.infoq.cn/link?target=https%3A%2F%2Fdeveloper.nftscan.com%2F)\r\n\r\n\r\n***Twitter: @nftscan_com***\r\n\r\n***Discord: ***[***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":1695883574,"version":1}