一、课程导论与数据源准备
大家好,我是你们的老朋友。做了这么多年链上数据分析,我越来越觉得——链上数据才是加密世界的真相。今天咱们开始第一课,先把地基打牢。
1.1 什么是链上数据?
说白了,链上数据就是区块链上每一笔交易、每一个合约调用、每一次转账的记录。你想想看,以太坊上每个区块都像一本公开的账本,谁转了多少钱、哪个地址跟哪个合约交互了,全都写得清清楚楚。
我个人习惯把链上数据分成三类:
- 交易数据:转账、合约调用、事件日志
- 状态数据:账户余额、合约存储、代币持有量
- 元数据:区块时间戳、Gas价格、验证者信息
嗯,这里要注意——链上数据和链下数据是两码事。链下数据比如交易所的订单簿、社交媒体情绪,这些不在区块链上。我们这门课只讲链上数据,因为它不可篡改、完全透明。
1.2 为什么链上数据能筛选潜力代币?
我在项目中遇到过很多次,光看价格曲线根本看不出什么。但链上数据不一样——它能告诉你真实的市场行为。
举个例子:
- 一个代币的持有者地址数在快速增长,说明什么?有人在建仓。
- 巨鲸地址突然大量买入,但价格还没涨,这往往是信号。
- 合约交互频率突然飙升,可能是有大资金在操作。
为什么会这样?因为链上数据反映的是真金白银的行为,不是嘴炮。我记得2021年有个项目,价格一直横盘,但链上数据显示每天都有新地址在积累。我当时就觉得不对劲,后来果然拉了一波。这就是链上数据的价值。
核心逻辑:链上数据 = 市场参与者的真实行为记录。行为先于价格,数据领先于K线。
1.3 课程目标与学习路径
这门课的目标很明确:让你能独立用链上数据筛选出有潜力的代币。不是靠感觉,不是靠消息,而是靠数据说话。
学习路径我设计成了三个阶段:
| 阶段 | 内容 | 产出 |
|---|---|---|
| 基础篇(1-10章) | 数据源、SQL查询、Python基础 | 能自己拉数据 |
| 进阶篇(11-20章) | 指标构建、策略回测、异常检测 | 能设计筛选模型 |
| 实战篇(21-30章) | 自动化监控、实盘验证、案例复盘 | 能搭建完整系统 |
每一章我都会给代码、给案例、给避坑指南。你跟着走就行。
1.4 Dune Analytics 账号注册与API Key获取
Dune Analytics 是我最常用的链上数据平台。它把区块链数据整理成了SQL表,你写个查询就能拿到想要的数据。
注册步骤:
- 打开
dune.com,点击右上角"Sign Up" - 可以用邮箱注册,也可以用MetaMask登录(我个人推荐用MetaMask,省事)
- 注册完成后,进入Settings → API Keys
- 点击"Create API Key",复制保存好
注意:API Key 相当于你的密码,不要泄露给任何人。我曾经见过有人把Key硬编码在代码里然后传到GitHub上,结果被刷爆了额度。
拿到API Key后,咱们用Python测试一下:
import requests
API_KEY = "你的API_KEY"
headers = {"x-dune-api-key": API_KEY}
# 测试连接
response = requests.get("https://api.dune.com/api/v1/query/1/execute", headers=headers)
print(response.status_code) # 返回200就对了
1.5 Etherscan API Key 获取
Etherscan 是另一个必备工具。它提供的是以太坊的原始数据接口,比如交易详情、合约ABI、代币持有量等。
获取步骤:
- 打开
etherscan.io,注册账号 - 登录后进入"API Keys"页面
- 点击"Create API Key",填个名字(比如"my_project")
- 复制生成的Key
小技巧:Etherscan的免费版每分钟只能请求5次。如果你要做批量查询,建议申请一个Pro账号,或者用多个Key轮询。我一般备3个Key,轮着用。
测试一下:
ETHERSCAN_KEY = "你的ETHERSCAN_KEY"
url = f"https://api.etherscan.io/api?module=account&action=balance&address=0x...&tag=latest&apikey={ETHERSCAN_KEY}"
response = requests.get(url)
print(response.json()) # 应该返回地址余额
1.6 Python 环境准备
工欲善其事,必先利其器。我建议你用两种方式之一:
- Jupyter Notebook:适合探索性分析,边写边看结果
- VS Code:适合写完整脚本,调试方便
我个人习惯用VS Code写核心逻辑,用Jupyter做数据探索。两个不冲突。
安装步骤:
- 安装Python 3.9+(推荐3.10)
- 安装Jupyter:
pip install jupyter - 安装VS Code:官网下载安装
- 安装必要的库:
pip install requests pandas numpy matplotlib web3
验证一下环境:
import requests
import pandas as pd
import numpy as np
from web3 import Web3
print("环境准备完成!")
print(f"Pandas版本: {pd.__version__}")
print(f"Web3版本: {Web3.__version__}")
避坑指南:我曾经在Windows上装web3库时遇到依赖冲突,折腾了两小时。后来发现用虚拟环境能避免99%的问题。建议你每次开新项目都建一个虚拟环境:python -m venv venv,然后激活它再装包。
知识体系总览
下面这张图是我手绘的,把本章的核心内容串起来了:
好了,第一课就到这里。数据源和工具都准备好了,下一章咱们就开始真正动手——用SQL从Dune拉取第一份链上数据。到时候我会手把手带你写第一个查询,看看真实的链上数据长什么样。
公众号:蓝海数据掘金营,微信deep3321