{"content":{"title":"SocialFi 的开发中如何利用 NFTScan API 获取 NFT 数据","body":"<!--StartFragment-->\r\n\r\nSocialFi 作为社交媒体与 Web3 的创新融合，致力于构建更加开放去中心化的社交平台。它赋能用户拥有数据控制权、实现内容价值，并通过代币经济建立起激励与治理机制，这正是 Web3 社交的独特魅力所在。SocialFi 为我们描绘了一个更加用户驱动、公正开放的社交未来，其潜力和影响力值得期待，SocialFi 正在重构数字社交的基础架构与经济模式。\r\n\r\n\r\n\r\n\r\n* 去中心化自治：SocialFi 平台通过 DAO 和代币治理实现去中心化自治，用户可以参与提案并投票表决来影响平台发展方向。\r\n* 用户数据控制权：用户对自己生成数据拥有完全控制权，平台只在用户授权时使用数据，不存在隐私泄露风险。\r\n* 代币激励机制：用户贡献优质内容可以获得代币激励，代币还可用于平台内交易和治理。\r\n* 内容所有权：用户对自己创作内容拥有所有权，通过 NFT 使其数字化，实现内容的独立价值。\r\n* 开放协议联通：基于开放标准协议，实现不同 SocialFi 平台之间互联互通，用户可以便捷流动。\r\n* 无门槛接入：简单便捷的钱包接入方式，降低大众使用门槛，实现平台快速繁荣。\r\n\r\n\r\n\r\n\r\n构建一个 SocialFi 应用平台需要大量的 NFT 数据支撑，在 SocialFi 应用中，NFT 扮演着至关重要的角色，是作为用户生成的内容和社交活动的资产化和交易基础，NFT 为 SocialFi 中的数字内容和社交关系打上了“指纹”，实现了这些数字元素的独一无二性，赋予了这些元素交易性、收益性、可证明性，是 SocialFi 平台实现去中心化、用户掌控的关键技术基石，极大地丰富了 SocialFi 的可能性。\r\n\r\n\r\n\r\n\r\n当然，要获取 NFT 数据，SocialFi 应用可能需要与多个 NFT 市场、区块链浏览器和 NFT 元数据服务进行集成，对于开发者团队来说，涉及到一定的工作量和复杂性，获取整理 NFT 数据具有挑战性但仍有一些方法可以应对困难，例如使用专业的数据服务提供商（如 NFTScan 等数据基础设施）提供了对链上 NFT 数据的访问和分析工具。开发者可以使用各种 NFT API 和 SDK 快速构建工具，从而获取实时的 NFT 数据并将其呈现给用户，从而实现完整的 SocialFi 体验。\r\n\r\n![](https://static001.geekbang.org/infoq/a7/a72eaac8fda6c374733bc84314505fc7.png)\r\n\r\nNFTScan 作为领先的 NFT 基础设施服务提供商，其 NFT API 使开发者能够方便地获取多链 NFT 数据，对于开发者构建 NFT 应用是非常有价值。利用 NFTScan 的 API，开发者可以聚合不同链上 NFT 的数据，实现跨链数据的统一访问，大大简化了开发复杂性。\r\n\r\n\r\n\r\n\r\n此外，NFTScan API 提供的丰富数据，可以支持开发者构建出功能更加丰富的应用。相比自行抓取链上数据，直接使用 NFTScan API 更加稳定可靠，为 NFT 应用开发提供了重要支撑，开发者可以聚焦产品创新，而不用重复解决底层数据获取问题。利用好 NFTScan NFT API，可以更快更好地推进 NFT 技术在更多垂直领域的应用。\r\n\r\n\r\n\r\n\r\n**怎样访问 NFTScan NFT API**\r\n\r\n**1/ 创建 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%2Flink.zhihu.com%2F%3Ftarget%3Dhttps%253A%2F%2Fdeveloper.nftscan.com%2Fuser%2Fsignup)\r\n\r\n\r\n![](https://static001.geekbang.org/infoq/65/65210e159007be32eca497414db7fd2e.png)\r\n\r\n登录后在 Dashboard（面板）上找到自己独有的 API KAY，将其复制。访问 API 文档，将自己的 API KEY 输进 API 文档的相应位置。根据文档的指引，就可以开始使用 API 服务了。在 API 文档中，开发者可以找到多种可供选择的接口模式，根据需求来选择最合适的接口。\r\n\r\n![](https://static001.geekbang.org/infoq/13/13eee01c5721e9842e6b8393dfaff5cd.png)\r\n\r\n在 Dashboard 中，开发人员还可以查看自己 API 使用情况的统计数据，帮助记录历史使用数据。不仅如此，NFTScan 还为每位注册开发者提供 1M CU 的 API 调用服务，用于请求所有的 NFT API 接口，并且 CU 永不过期，用完为止！\r\n\r\n![](https://static001.geekbang.org/infoq/65/652da77070233abf0d85823cf0d1ea43.png)\r\n\r\n\r\n\r\n\r\n**查看 NFT 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、zkSync、Aptos、Linea、Avalanche、Arbitrum、Optimism、Fantom、Moonbeam、PlatON、Cronos、Gnosis 16 条区块链的 NFT 全量数据，所涵盖的 NFT 数据全、种类丰富，提供一整套的接口来获得 ERC721 和 ERC1155 资产以及交易、项目、市场统计等信息，现在支持 50 多个针对 EVM 兼容链的公共接口，以及针对 Solana、Aptos、Bitcoin 的一批相同模型的接口，很大程度上满足了开发者索引多种类型的 NFT 数据的需求。\r\n\r\n![](https://static001.geekbang.org/infoq/d2/d2376b7a94f71813a40995f91f549301.png)\r\n\r\n**获取 NFTScan NFT API 相关数据**\r\n\r\n* NFT 元数据：每个 NFT 都包含元数据，描述了 NFT 的属性、特征和内容。元数据通常包括名称、描述、图像或视频链接、创作者信息等。NFT 元数据是展示 NFT 的关键信息，让用户了解 NFT 的特点和价值。\r\n* NFT 所有权信息：涉及到 NFT 的当前持有者和交易历史。在 SocialFi 应用中，用户可能希望查看特定 NFT 的当前所有者，以及以前的交易记录助于确定 NFT 的真实性和价值。\r\n* NFT 交易数据：SocialFi 应用中，NFT 的价格和交易功能可能是一个重要的组成部分。因此，应用可能需要获取最近的 NFT 价格、交易记录和市场价格走势等数据。\r\n* NFT 的社交影响力和声誉：某些 SocialFi 应用可能使用 NFT 作为社交影响力的度量标准，例如用户持有的 NFT 数量或某些特定 NFT 的权重，帮助用户增加其在社交平台上的声誉和影响力。\r\n* NFT 持有者的数据：SocialFi 应用可能需要获取 NFT 持有者的数据，以便在社交互动或投票中进行正确的识别和奖励。\r\n\r\n\r\n\r\n\r\n这些数据是一个 SocialFi 应用的基础，NFT 数据为 SocialFi 应用提供了丰富的功能和优势，创造了一个融合了社交媒体和去中心化金融的全新体验。这样的应用平台使得用户更加参与其中，拥有更多的数据控制权和经济激励，同时推动着区块链技术在社交领域的应用发展。\r\n\r\n\r\n\r\n\r\n**查询相关 NFT 数据**\r\n\r\n**1）Get single NFT：**\r\n\r\n“/v2/assets/{contract_address}/{token_id}”该节点返回一个 NFT Collection 的单个 item 信息。\r\n\r\n![](https://static001.geekbang.org/infoq/11/1181a88be8b4d21fd9ca517b61b6079c.png)\r\n\r\n\r\n\r\n\r\n点击 Try it，数据响应结果：\r\n\r\n\r\n\r\n\r\n1\\)基础信息查询的 NFT 资产合约地址：0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d 及名称为 Bored Ape Yacht Club，这里查询的 NFT Token id 为 0，在项目中的占比为 1，协议标准为 erc721，Mint 的钱包地址/当前的持有者地址，被铸造时的时间戳，Mint 的哈希地址及价格，Token URI 的地址。latest_trade_price(上次成交价)/latest_trade_symbol(上次成交价的货币)，latest_trade_timestamp(上次成交时间戳)当前显示 null，返还数值空，表示该项目未进行过交易。\r\n\r\n\r\n\r\n\r\n2\\)元数据：从该项目的元数据可以看出 Metadata 数据托管在 ipfs 上，格式为 image/png，因为该链接只能由 IPFS 节点读取：ipfs\\://QmcJYkCKK7QPmYWjp4FD2e3Lv5WCGFuHNUByvGKBaytif4 需要一个服务器域名来访问链接末尾的文件，并将这个反馈结果输入浏览器中，即获得了 ID 为 0 的 BAYC NFT 图像。其次为对该图片的细节特征描述，如“Mouth”、“Eyes“、“Hat”等等。\r\n\r\n\r\n\r\n\r\n3\\)稀有度：对属性描述包括“Eyes”“3d”占 4.87%，“Mouth”“Bored Cigarette”占 7.1%，“Fur”“Robot”占 2.67%，“Hat”“Sea Captain's Hat”占 3.04%，“Background”“Aquamarine”占 12.66%，稀有度得分为 0.9433572839873239，综合稀有度排名为 6497 名。\r\n\r\n![](https://static001.geekbang.org/infoq/56/56139151f4bbf2860529566894dbf9bf.png)\r\n\r\n**2）Collection Top Holder：**\r\n\r\n“**/v2/statistics/collection/holder/{contract_address}**”该节点返回涉及一个 NFT Collection 的顶级持有者统计信息。\r\n\r\n![](https://static001.geekbang.org/infoq/8f/8fd7692ddece8f78c67a96160f886af3.png)\r\n\r\n返回数据信息主要对持仓地址的价值进行了排行，并返回其持有该 NFT Collection 总值及占比，可参考 NFTScan Holders：\r\n\r\n[https://www.nftscan.com/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d?module=Holders](https://xie.infoq.cn/link?target=https%3A%2F%2Flink.zhihu.com%2F%3Ftarget%3Dhttps%253A%2F%2Fwww.nftscan.com%2F0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d%253Fmodule%253DHolders)\r\n\r\n\r\n![](https://static001.geekbang.org/infoq/d9/d92305bd6edbf0ef71f9836d9db8dfb2.png)\r\n\r\n**构建相关 NFT 数据**\r\n\r\n在 API 文档中找到想要的接口之后，开发者可以选择自己熟练的编程语言构建对 API 的请求。无论选择哪种编程语言，重要的是要确保选用的语言具备对 HTTP 请求的支持，并且能够处理 API 响应，通常是通过 HTTP 请求库来实现。绝大多数流行的编程语言都有丰富的第三方库和框架来处理 HTTP 请求，例如 Requests 库（Python）、Axios 库（JavaScript）等。\r\n\r\n\r\n\r\n\r\n例如，构建一个请求获取 BoredApeYachtClub 的 Collection Top Holder 数据 API 请求，查找 NFTScan API 的文档或参考文档后，这里使用接口 **“/v2/statistics/collection/holder/{contract_address}”**\r\n\r\n使用 HTTP GET 请求访问 NFTScan 的 API 端点，并传递所需的参数。例如，使用 Python 的 requests 库，可以这样构建请求：\r\n\r\n![](https://static001.geekbang.org/infoq/38/384db1ed30d470f8b724a0b6b00676d9.png)\r\n\r\n上述代码中，首先构建了完整的 API 请求 URL，其中使用了 .format() 方法来替换占位符 {contract_address} 为实际的合约地址。然后，使用 requests.get() 方法发送 HTTP GET 请求，获取 API 响应。最后，根据 API 响应的状态码判断请求是否成功，并处理响应数据。\r\n\r\n\r\n\r\n\r\n随着区块链的发展，对于构建创新和前沿的 Web3 应用来说，获取高质量的 NFT 数据是非常关键的一环。NFTScan 将不断扩展和优化其 NFT API，为开发者提供丰富、全面的 NFT 数据。不仅是 SocialFi，通过利用 NFTScan NFT API，开发者可以无缝集成 NFT 数据到他们的应用中，API 的易用性和灵活性使其成为构建 Web3 Dapp 的强大工具。\r\n\r\n***\r\n\r\n***关于 NFTScan***\r\n\r\n**NFTScan 成立于 2021 年 4 月份，总部位于中国香港，是全球领先的 NFT 数据基础设施服务商，目前已支持 Bitcoin、Ethereum、BNBChain、Polygon、Solana、Linea、Arbitrum、Optimism、zkSync、Aptos 等在内的 16 条主流区块链网络。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%2Flink.zhihu.com%2F%3Ftarget%3Dhttps%253A%2F%2Fnftscan.com%2F)***\r\n\r\n\r\n***Developer: [https://developer.nftscan.com/](https://xie.infoq.cn/link?target=https%3A%2F%2Flink.zhihu.com%2F%3Ftarget%3Dhttps%253A%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%2Flink.zhihu.com%2F%3Ftarget%3Dhttps%253A%2F%2Fdiscord.gg%2Fnftscan)***\r\n\r\n\r\n**欢迎关注 NFTScan 官方推特获取最新动态，有关 NFT 数据服务等商务合作请联系 Telegram: Shier1992**\r\n\r\n![](https://static001.geekbang.org/infoq/7b/7b4d55a379416fd9bbf49e40a922b2d5.png)\r\n\r\n<!--EndFragment-->"},"author":{"user":"https://learnblockchain.cn/people/10111","address":null},"history":null,"timestamp":1691398171,"version":1}