{"content":{"title":"如何使用 NFTScan API 检索 NFT 合约地址下 Transactions 数据","body":"对于大多数人而言，获取某 NFT 合约地址下的全量交易记录是十分有挑战性的，不仅涉及到对区块链技术的深入了解以及使用相应的工具和资源，还需要处理区块链上的智能合约和交易数据，并将其与外部数据源进行整合分析。通常，区块链上的交易数据分散存储在区块中，而且区块链的去中心化性质增加了获取全量交易记录的难度，查询检索这些记录更需要处理大量的数据，工作量十分巨大。\r\n\r\n\r\n\r\n\r\n但相较于传统市场，链上数据更透明可追溯，也更直观地反映了 NFT 资产的流动性和持有者体量。了解分析关键 NFT 项目的链上交易数据，有助及早发现价值洼地。不仅如此，这些交易数据还为各类 Dapp 提供了丰富的堆砌材料，如：\r\n\r\n\r\n\r\n1\\) NFT 数据分析平台；2) 加密钱包；3) NFT 资产管理工具；4) NFT 交易市场\r\n\r\n5）DID Protocol；6) NFT 链上追踪器；7) NFT 社交平台；等等。\r\n\r\n![](https://static001.geekbang.org/infoq/38/387af794817e2b62323daed8b7f5076e.png)\r\n\r\n**NFT API 的获取**\r\n\r\n\r\n\r\n对许多开发者来说，自主检索和获取 NFT 合约的交易记录面临种种困难，例如需要自行搭建节点解析数据，克服数据不统一、实时性差等问题，同时需要投入大量时间去清洗、格式化和分析生硬的数据，而区块链节点的搭建门槛以及解析代码的开发成本也非常高。\r\n\r\n\r\n\r\n\r\n且由于市面上大部分 NFT 项目并没有都严格遵守标准底层智能合约代码，各项目本身对元数据的存储方式也各有不同，存储方式的不标准使得因此单一的查询产品并不能兼容所有的 NFT 产品，而 NFTScan 将这些难以全部解析的数据进行标准化处理，清晰的将数据呈现到用户面前。\r\n\r\n\r\n\r\n\r\n* 面对不标准的元数据存储，NFTScan 实现了标准化处理，避免了解析的障碍，无需自搭建节点。\r\n* 标准化解析降低了查询产品开发的门槛，使其可以适用于获取不同类型 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、OP Mainnet、Starknet、Scroll、Viction、Fantom、Moonbeam、PlatON、Cronos、Gnosis 21 条区块链的 NFT 全量数据，所涵盖的 NFT 数据全、种类丰富，提供一整套的接口来获得 ERC721 和 ERC1155 资产以及交易、项目、市场统计等信息，现在支持 60 多个针对 EVM 兼容链的公共接口，以及针对 Solana、Aptos、Bitcoin、TON 的一批相同模型的接口，很大程度上满足了开发者索引多种类型的 NFT 数据的需求。\r\n\r\n![](https://static001.geekbang.org/infoq/ef/ef7b4edee4fa928523589b8711d1b720.png)\r\n\r\n**怎样访问 NFTScan NFT API**\r\n\r\n\\\r\n\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![](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\r\n\r\n**检索 NFT  Transactions 数据**\r\n\r\n\r\n\r\n\r\n完整的 Transactions 数据可以展示该项目的资金流转路径、用户参与频率以及活跃地址。通过分析不同时间段的数据，我们可以比较活跃高峰期，判断市场热度趋势；计算资金流动速率，反映项目的粘性与诱引力。当然，关键持仓地址也可以被识别出来，用于判断市场结构和信心度。可以说，合约地址的交易记录如实反映了用户的参与热情，是了解项目真实运行的直接来源。\r\n\r\n\r\n\r\n\r\nNFTScan 数据显示，截至 1 月 25 日主流区块链网络上已累计发行 NFT 资产 1,481,930,303 枚；NFT Collection 3,401,197 个；产生交易记录 7,192,237,129 条；总交易额 $97,164,850,168；市值达 $23,893,340,489。\r\n\r\n数据来源：[*https://www.nftscan.com/chain/overview*](https://xie.infoq.cn/link?target=https%3A%2F%2Fwww.nftscan.com%2Fchain%2Foverview)\r\n\r\n\r\n![](https://static001.geekbang.org/infoq/c3/c3dbc27d8103ae41fa52649504c9dbdf.png)\r\n\r\n\r\n\r\n\r\n在如此庞大的数字下怎样找到我们想要检索的合约地址下的交易记录呢？通过 NFTScan NFT API 的接口之一“**Get transactions by contract**”可以直接快速获取，该接口可以返回某个 NFT 合约下所有的 NFT 交易列表。\r\n\r\n![](https://static001.geekbang.org/infoq/fd/fd03a23b64a2b714525918cb18a15fe2.png)\r\n\r\n在 **CHAIN** 处可选择合约部署的网络，路径参数包括“**contract_address**“合约地址，查询参数可选择交易的 NFT 事件类型（**Mint/Transfer/Sale/Burn**），多选则使用 ';' 分隔多个事件，这里我们以 BoredApeYachtClub 为例，检索该 NFT Collection 下所有的 Items **Sale**相关事件的关键数据，输入自己的 api-key 之后，点击 Try it，数据结果显示按照时间戳降序排列：\r\n\r\n\r\n\r\n\r\n**1）Sale**\r\n\r\nSale 数据响应结果共 50783 个 data，每个数据下返回 25 个 items，按照时间戳最近的一条数据信息返回如下：\r\n\r\n{\r\n\r\n\"**hash**\":\"0x01fff33621e8839e54736e175c31622ede3ddee3852dcf096be4703bbd1eb96d\"\r\n\r\n\"**from**\":\"0xed6af25e6158a2a6106f72126a4db188f55ab723\"\r\n\r\n\"**to**\":\"0x29469395eaf6f95920e59f858042f0e28d98a20b\"\r\n\r\n\"**block_number**\":19073463\r\n\r\n\"**block_hash**\":\"0xae824b7bc1531d9778ed5b55bc050a92323541e8ceac446b5b0079c2ca101b20\"\r\n\r\n\"**gas_price**\":\"0x2359e0376\"\r\n\r\n\"**gas_used**\":\"0x51e0b\"\r\n\r\n\"**gas_fee**\":0.003182497273739794\r\n\r\n\"**timestamp**\":1706062583000\r\n\r\n\"**contract_address**\":\"0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d\"\r\n\r\n\"**contract_name**\":\"BoredApeYachtClub\"\r\n\r\n\"**contract_token_id**\":\"0x00000000000000000000000000000000000000000000000000000000000016f6\"\r\n\r\n\"**token_id**\":\"5878\"\r\n\r\n\"**erc_type**\":\"erc721\"\r\n\r\n\"**send**\":\"0xcb415344cd0fc552ce7b48ee9375991ff5865895\"\r\n\r\n\"**receive**\":\"0x29469395eaf6f95920e59f858042f0e28d98a20b\"\r\n\r\n\"**amount**\":\"1\"\r\n\r\n\"**trade_value**\":\"0x76b344f2a78c0000\"\r\n\r\n\"**trade_price**\":27\r\n\r\n\"**trade_symbol**\":\"ETH\"\r\n\r\n\"**trade_symbol_address**\":NULL\r\n\r\n\"**event_type**\":\"Sale\"\r\n\r\n\"**exchange_name**\":\"Blur\"\r\n\r\n\"**aggregate_exchange_name**\":NULL\r\n\r\n\"**nftscan_tx_id**\":\"1907346301130001\"\r\n\r\n}\r\n\r\n\r\n\r\n\r\n该交易涉及 BAYC 系列 Token id 为 5878 的 Sale 事件，成交价格是 27 ETH，发生于 Blur 交易市场。综合各字段，我们可以清晰地解析出该笔 NFT 交易的关键信息和属性，如交易哈希值、From 和 To 地址、区块信息、消耗 Gas、交易时间戳等基础数据等 NFT 交易的特征信息。\r\n\r\n![](https://static001.geekbang.org/infoq/c6/c6f8432a61eb4c1455cdc032cc3bf903.png)\r\n\r\n除此之外，该合约地址下总共发生了 263422 次交互记录，交互较为频繁。\r\n\r\n* 其中 Mint 事件 10000 次，即有 10000 个 BAYC items 被初始铸造发行出来。\r\n* Transfer 事件 202637 次，即这些 NFT 在地址间转移的总次数。\r\n* Sales 事件 50783 次，即 NFT 成交交易次数总量。\r\n* 仅有 2 次 Burn 事件\r\n\r\n\r\n\r\n\r\n面对 NFT 市场的不断变化，实时更新的数据对于跟踪合约地址下 NFT 活动的动态至关重要。但无需担心，NFTScan 提供的数据是实时更新的，确保开发者获取的是最新的和准确的信息。\r\n\r\n***\r\n\r\n**About NFTScan**\r\n\r\n\r\n\r\n**NFTScan 成立于 2021 年初，总部位于香港，是全球领先的 NFT 数据基础设施服务商，目前已支持 Bitcoin、Ethereum、BNBChain、Polygon、Solana、TON、Arbitrum、Optimism、zkSync、Base、Scroll、Aptos 等在内的 21 条主流区块链网络。NFTScan 团队致力于为数以亿计的 Web3 用户提供简洁高效的 NFT 检索服务，为新一代金融科技公司提供安全稳定的多链 NFT 索引服务，用数据来推动 NFT 生态的繁荣发展！目前，NFTScan 在为包括 MetaMask、CMC、Binance NFT、Bybit、KuCoin、HashKey Group 、Mask、imToken、Enjin、Coin98 等在内的 5000+ 开发者提供多链 NFT API 数据服务！**"},"author":{"user":"https://learnblockchain.cn/people/10111","address":null},"history":null,"timestamp":1706163009,"version":1}