一、分析背景

2021年已经接近尾声,回顾今年的 crypto currency 市场,在大洋彼岸,NFT 无疑是最具热点的话题和方向。随着 OpenSea 等平台的崛起,市面上的 NFT 项目也层出不穷。

众所周知,NFT 项目强依赖于社区与热点,那么我们如何评估一个 NFT 项目的优劣,如何才能为投资行为提供强有力的支撑依据呢?

在本文中,笔者分享一下前段时间与加密货币行业某一级市场 VC 合作的 NFT 相关的数据分析实践。

二、评估指标介绍

评估一个NFT项目的好坏无疑是看这个项目的活跃程度、大众接受程度、社区的繁荣程度,如果这些直观的标准都是 high level,那么无疑是一个较好的 NFT 项目。

依赖直观标准的缺点是无法对其进行有效量化,我们试图通过链上数据分析寻找更有数据支撑与说服力的评估指标。在本文中,我们介绍其中一个 NFT 评估指标实例——玩家重合度指标,该评估指标基于以下假设:

▪ NFT 存在蓝筹项目,这些蓝筹项目的参与者具有一定的参考价值

▪ NFT 赛道存在活跃玩家,这些活跃玩家会发掘新的 NFT 并及时参与进去

▪ 如果NFT 项目的玩家中,活跃玩家占比较多,说明项目质量不错

我们希望这个指标可以给定一个 NFT 项目的合约地址,输出该 NFT 项目玩家中,NFT 熟练玩家(或者说是活跃玩家)的占比,从而模糊评估该项目在整个 NFT 市场上的社区、参与质量。

在下面的章节,笔者会 step by step 介绍如何从链上数据获取到该指标的整个过程。

三、需要关注哪些交易?

首先我们应该知道需要关注哪些交易才能定位到 NFT 的交易者。以 Ape 为例,该项目是基于 ERC-721 代币标准构建的:

因此,我们需要关注 ERC721 代币每次转账的发送方和接收方,这两个地址就是我们可以认定的 “NFT交易者”。具体一点,我们需要关注 transferFrom 合约方法的调用,并将 transferFrom 的 from 和 to 地址抽取出来。

为了实现这个需求,我们需要考虑两种情况:一种是交易者直接与 Ape 合约进行交互,一种是通过合约 call 的方式与 Ape 合约进行交互。

 - 直接与 Ape 合约交互

如交易:

0xff9a1b806e26ca45b4ce45a05929aa1759c913162b4a98b16ddc12db015002a1,可以看到用户直接和 Ape 合约进行交互:

这种场景下,我们只需要利用 ABI 解析出交易中的 input data 即可,利用 web3.py 可以很容易做到这一点:


contract = w3.eth.contract(address=nft_addr, abi=abi)
txs = get_all_transactions(nft_addr)# 0x23b872dd => transferFrom
if tx['tx']['input'].startswith("0x23b872dd"):func_obj, func_params = contract.decode_function_input(tx['tx']["input"])nft_traders.append({'sender': func_params['from'],'receiver': func_params['to'],})

 - 合约 call 调用与 Ape 交互

除了直接与 Ape 交互,实际上很多交易行为是通过其他合约调用 Ape 相关方法实现的,比如在 OpenSea 中交易 Ape NFT,交易id:0x0000c29cdda9857072510fc52adf701d4cc7d769f3d00704c062fc399d731bb4

可以看到,用户通过和 OpenSea 合约进行交互来交易 Ape NFT,而在以太坊交易中不会存储合约之间的调用关系与相关细节,对于这种合约调用分析,我们需要依赖 trace 节点获取 call tracing 数据,进而分析调用关系:

从 tracing 结果来看,最终 OpenSea 合约还是调用了 Ape 合约的 ERC-721 标准方法来完成 NFT 转移:

对于这种合约调用的交易,我们可以分析该交易的 event log 来获取 NFT 交易者信息,如 ERC-721 约定了 Transfer 事件,在每次 NFT 换手时均会被 emit,因此我们就不需要对交易进行 trace 也能通过 event 获取交易者信息。

通过 web3.py 也可以轻松完成解析:

tx_receipt = w3.eth.get_transaction_receipt(txid)
logs = tx_receipt['logs']
logs = tx_receipt['logs']
logs_num = len(logs)
for i in range(logs_num):ret = contract.events.Transfer().processLog(logs[i])# parse the logstry:ret = contract.events.Transfer().processLog(logs[i])nft_traders.append({'sender': ret['args']['from'],'receiver': ret['args']['to']})except Exception as e:continue

四、基础数据建设

在我们内部,需要经常应对这种类型的数据分析需求,从而满足传统的资金溯源、普通 ERC-20 转账,到 Dex、NFT 交易分析等需求。

在建设基础数据层时,我们需要对主网每个交易进行解析、tracing 出 call stack、对合约交易的 input data 进行 ABI 解码、对event进行ABI解码,再进行清洗、格式化等操作,最终将以上数据入库。

有了基础数据层建设,我们可以直接执行查询定位到相关交易,不需要临时性遍历全部区块中的交易。

五、NFT项目评估

通过对蓝筹 NFT 项目、待评估 NFT 项目进行交易分析,我们获取到了两个数据集:

▪  蓝筹项目交易者列表

▪  待评估项目交易者列表

该列表保存三个字段:sender、receiver、txid 即可。

有了以上数据,我们不仅可以获得玩家重合度数据,也可以回答出以下问题:

▪  待评估 NFT 项目的玩家总数是多少?

▪  待评估 NFT 项目与蓝筹项目的交易活跃度差距是多少?

▪  待评估 NFT 项目中,玩家和蓝筹项目的重合度是多少?

▪  待评估 NFT 项目中,是否存在交易刷量行为?

利用这些基础数据,与链上资金溯源、链上真人地址识别等技术相结合,我们甚至可以反推出 NFT 项目的市值管理策略,从而从更深层次去评估目标项目的优劣。

六、总结

本文介绍了如何通过链上数据分析目标 NFT 项目,包括基础数据、交易解析、指标分析思路等。区块链有透明化、交易活动公开化等特点,通过定制化的数据分析的方式,我们可以快速发现加密货币市场的潜流,从而为我们的决策提供更有力的佐证。

原文:

链上数据分析—NFT 项目质量评估

链上数据分析—NFT 项目质量评估相关推荐

  1. 浅析『链上数据分析』 : 区块链 + 数据分析

    什么是链上数据分析? 01 区块链 02 链上数据 03 为什么要分析链上数据 04 数据分析思维 05 数据分析技能 06 数据分析工具 07 业务逻辑理解 什么是链上数据分析 链上数据分析,顾名思 ...

  2. 链上数据分析聚合交易项目Odos银河任务是否值得埋伏

    Odos是什么 Odos 是一个带有专利的自动做市商路径查找算法,通过DEX为加密货币令牌兑换提供最佳路径,这样可以为交易者提供更具有竞争力的报价,交易者可以利用Odos进行套利等复杂交易,从而获取确 ...

  3. 德勤加拿大:在Flow链上创建NFT所消耗的能量比人们搜索或发布一个帖子还少

    在Flow上创建NFT比人们进行谷歌搜索或在Instagram发布帖子所消耗的能量更少. --德勤(加拿大站)最新行业报告 众所周知,Proof of Work(POW/工作量证明)的区块链机制对环境 ...

  4. 一文读懂Casper区块链上的NFT

    Casper区块链很荣幸已带来超过140个包括交易所.合作开发.Web3应用等在内的各类项目(数目还在不断增加).通过区块链将开发者和企业无缝对接,Casper生态实现了快速成长并延伸至了新的领域. ...

  5. teablue数据分析_基于大数据分析的茶叶质量评估

    引言 茶叶是茶加工企业生存和发展的基本保障,是 茶产品能够顺利发展的重要资源.茶叶的质量和产 量,通常会遭受各种大气条件以及生态条件和生产 措施的影响.为了保证茶叶质量,需要监测茶叶生 产的整个周期. ...

  6. 知帆科技创始人叶茂: 链上数据分析将大有作为

    近年来,我国持续开展电信网络诈骗犯罪打击治理,已经取得了重要成效.随着区块链.人工智能等新兴技术的出现,诈骗分子又找到了新的作案工具,开始利用区块链技术组织诈骗和赃款转移活动,给政法工作带来了新的挑战 ...

  7. 回顾2022! 链上NFT精彩项目大盘点

    过去一年,WEB3和元宇宙无疑吸引了一大波关注度和热度.不少知名品牌如耐克.GUCCI.百事可乐.星巴克.麦当劳等都纷纷加入这波浪潮,通过推出NFT.数字商品等,来尝试WEB3机制,进而塑造更好的用户 ...

  8. BSC链上项目再遭黑客攻击,“黑色5月”阴云持续?

    来源 | 成都链安 责编 | 晋兆雨 头图 | 付费下载于视觉中国 事件概览 北京时间6月3日11时11分,区块链安全平台监测显示,BSC链上项目PancakeHunny遭遇黑客攻击.据统计,此次攻击 ...

  9. 实用的链上数据查询工具——链数查

    随着比特币及整个区块链行业的蓬勃发展,链上数据越来越被重视起来.那么我们为什么要使用链上数据呢?链上数据都有哪些种类,其开采过程又是怎样的? 一.我们为什么要使用链上数据? 任何一项资产都是可以进行估 ...

最新文章

  1. vue-quill-editor + element-ui upload实现富文本图片上传
  2. python模块化设计耦合度_什么是程序设计中的高内聚、低耦合?
  3. hdu 6386 Age of Moyu (重边判断)
  4. 机器学习之 weka学习(六)最大内存
  5. 思科加强生成树性能的属性(Portfast /Uplinkfast/BackboneFast)与RSTP的关系
  6. linux--GCC简单用法
  7. 登录用户名和密码相同问题
  8. spring FileCopyUtils类 上传图片
  9. Redis应用场景一
  10. 如何制作频数折线图(详细)
  11. 中国联通沃支付echop支付插件
  12. .net core快速开发平台,learun自主工作流引擎设计规范
  13. 玲珑杯计算机大赛得奖作品,信阳师范学院学子在第14届中国大学生计算机设计大赛“玲珑杯”省级赛中获奖...
  14. 计算机IPv4升级到IPv6的技术,IPv4到IPv6的变化
  15. Apple account使用不同账号续费问题
  16. pdf转json_pdf转长图工具
  17. Math:泰勒(Taylor)公式
  18. 必应搜索引擎怎么了?
  19. 移动端经常出现的兼容问题,谈谈移动端应用或者wap站的一些优化技巧和心得
  20. 软件构造lab2 - 实验报告

热门文章

  1. [总结]2019年10月 OI学习/刷题记录
  2. 总结证书CT:证书透明度
  3. python实现经典密码学中列移位算法
  4. 【USB】USB video class (UVC)相关概念学习
  5. Redis设计与实现——对象
  6. Android CardView卡片布局详解(八)
  7. python执行sql 语句
  8. tail命令 – 查看文件尾部内容
  9. 微计算机原理及应用第八章,微机原理第八章--8251讲解
  10. LTE-5G学习笔记33--通信行业考哪些证可以升职加薪