跳到正文

区块链数据抓取代理:索引器与 Subgraph 固定出口

索引任务一跑就是几天,对着同几个端点。给它一条可以加白名单、可以监控、一直不变的出口。

为什么索引器要用固定代理

索引是受套餐限制的长时间请求。Alchemy 免费版每次 eth_getLogs 最多只能跨 10 个区块,付费套餐在以太坊、Base、Optimism、Arbitrum 上放开区块范围,所有响应上限 150 MB;The Graph 免费版每月含 10 万次查询,超出部分计费。这些限额属于你的套餐,代理负责让线路稳定。

长任务需要固定地址。Alchemy 可以把 API 密钥限制在白名单 IPv4 地址上,回填从一条静态 IP 跑,办公网络或云主机换了也不会断,别人也用不了你的密钥。长期任务建议放在海外服务器上通过代理运行,国内本机调试先开辅助工具。

先确认索引到了哪个区块,再怀疑网络。The Graph 的 _meta 字段返回最新已索引区块、部署 ID 和 hasIndexingErrors,监控先看这几个值,就能分清是子图落后、索引出错还是连接问题。thegraph.com 在 GreatFire 最近一次测试中可以从中国大陆访问。

数据抓取推荐配置

可使用方向键横向滚动,阅读完整内容。

数据抓取推荐配置
比较项目选择原因
产品静态机房代理控制台里最快的出口,按 IP 计费
计费方式按 IP 和租期按 IP 和租期收费,不按经过代理的 GB 数收费
买几条 IP每个索引器或环境一条白名单和日志按任务分开
国家靠近 RPC 服务商或索引服务器Web3 场景不会自动预选国家,付款前自己选
协议HTTP(默认)或 SOCKS5大多数 HTTP 客户端都支持 HTTP CONNECT
IP 会变吗租期内不变整个回填期间白名单一直有效

下面的「配置数据抓取代理」按钮会打开 Web3 场景的静态机房代理,按 IP 和租期计费、默认 HTTP。付款前选好地区、租期和「数量」(一次最多 100 个 IP)。

买哪种 Proxy302 代理

可使用方向键横向滚动,阅读完整内容。

买哪种 Proxy302 代理
比较项目静态 ISP动态住宅静态机房
你得到什么一条租期内固定归你的家庭宽带 IP真实家庭宽带 IP:在所选国家保持粘性会话,低价线路也可全球轮换机房固定 IP,控制台里速度最快、价格最低的一档
价格按 IP 和租期计费,付款前以 PTC 显示(1 PTC = US$1)按流量:低价线路 US$1.50/GB、优质线路 US$5.00/GB,1 GB 起按 IP 和租期计费,付款前以 PTC 显示
最适合链上数据抓取在浏览器里全天开着的看板从多个国家抽查公共端点;回填流量大时按 GB 计费成本高索引器、历史回填和子图监控,每个一条固定 IP

价格以美元计,用 PTC 余额支付(1 PTC = US$1)。先充值钱包,再购买需要的线路。自动续费暂未开放,静态 IP 请在到期前到「我的资产」手动续费。

5 步配好数据抓取代理

  1. 国内网络先开辅助工具

    代理要在海外网络下才能连上。在中国大陆,登录 Proxy302 控制台 → 连接工具 → 辅助工具,下载并运行,使用代理期间保持开着;工具和脚本里用辅助工具显示的本地地址和端口代替代理的主机和端口,用户名密码不变。已有能连海外的 VPN 也可以。

  2. 选择开发配置

    点「配置数据抓取代理」打开「静态机房代理」,使用场景已选 Web3。在「连接配置」里选地区和租期,协议保持 HTTP,「数量」按索引器或环境的个数填(一次最多 100 个),点「确认费用并生成」。

    预期结果 「当前配置」显示按 IP 和租期、Web3、地区和 HTTP。

  3. 复制连接信息

    付款后控制台会打开「我的资产」。在新代理上点「查看凭据」,复制出口地址(主机:端口)、用户名和密码。

  4. 加白名单并接入索引器

    把 IP 加进 RPC 服务商白名单。让索引器的 HTTP 客户端走代理:Node.js 24.5 及以上设置 NODE_USE_ENV_PROXY=1 后读取 HTTPS_PROXY;Python 的 Requests 在每个请求上传入 proxies。

  5. 盯住已索引区块

    通过代理查询 _meta(见下方示例),已索引区块不再增长或 hasIndexingErrors 变成 true 时报警。先查服务商和子图,再怀疑线路。

    预期结果 监控输出不断增长的区块号,hasIndexingErrors 为 false。

通过代理检查子图已索引区块

可使用方向键横向滚动,阅读完整内容。

# pip install requests
import requests

PROXY = "http://USERNAME:PASSWORD@HOST:PORT"  # static datacenter IP from My assets
PROXIES = {"http": PROXY, "https": PROXY}
QUERY_URL = "YOUR_SUBGRAPH_QUERY_URL"  # from Graph Explorer, includes your API key
QUERY = "{ _meta { block { number timestamp } deployment hasIndexingErrors } }"

r = requests.post(QUERY_URL, json={"query": QUERY}, proxies=PROXIES, timeout=30)
r.raise_for_status()
body = r.json()
if body.get("errors"):
    raise RuntimeError(body["errors"])
meta = body["data"]["_meta"]
print("indexed block:", meta["block"]["number"])
print("deployment:", meta["deployment"], "indexing errors:", meta["hasIndexingErrors"])

查询地址从 Graph Explorer 复制(里面带你的 API 密钥),通过代理用 POST 发送。已索引区块不再增长或 hasIndexingErrors 变成 true 时报警。国内本机运行时,HOST:PORT 换成辅助工具的本地地址和端口。

常见问题速查

eth_getLogs 跨大范围区块时报错

检查 密钥是什么套餐?每次请求跨多少个区块?

处理 把区块范围拆小,或把密钥升级到范围更大的套餐;代理改变不了这个限制。

服务商拒绝索引器上的密钥

检查 代理出口 IP 在这把密钥的白名单里吗?

处理 把这个 IPv4 地址原样加入白名单,等几分钟生效。

子图查询返回 405

检查 是不是用 GET 发的查询?

处理 像示例那样用 POST 加 JSON 请求体;The Graph 文档说明查询地址用 GET 会返回 405。

链上数据抓取代理常见问题

用代理能给索引器更多 RPC 额度吗?

不能。区块范围和吞吐量跟着服务商套餐走,Alchemy 免费版每次 eth_getLogs 只能跨 10 个区块。代理提供的是一条稳定、可加白名单的线路。

抓链上数据用机房还是住宅代理?

机房。索引器带着密钥调用 API,不需要家庭宽带 IP;静态机房 IP 是控制台里最快的一档,按 IP 和租期计费,不按 GB。

The Graph 免费版有多少查询?

Subgraph Studio 免费版每月 10 万次,超出部分按 Growth 方案计费。

爬区块浏览器网页来做索引可以吗?

不建议。请从 RPC 节点、子图或官方 API 用自己的密钥取数,Etherscan 等浏览器在条款里禁止爬取网站。

国内服务器上的索引器能直接用这条代理吗?

代理要在海外网络下才能连上。国内机器调试请先运行辅助工具;长期运行的索引任务建议部署在海外服务器上。

来源与验证

10
  1. Alchemy 文档:eth_getLogs

    官方文档 · 核对于:

    按套餐列出区块范围限制:免费版在所有列出的链上为 10 个区块;按量付费和企业版在以太坊、Base、Optimism、Arbitrum、Polygon 等链上不限;所有响应上限 150 MB;建议把大查询拆小。

  2. The Graph 文档:Subgraph Studio 计费

    官方文档 · 核对于:

    免费版每月含 10 万次免费查询,超出部分按 Growth 方案计费,可用银行卡或 Arbitrum / 以太坊上的 GRT 支付。

  3. The Graph 文档:GraphQL API 子图元数据

    官方文档 · 核对于:

    _meta 字段返回最新已索引区块(number、hash、timestamp)、deployment(subgraph.yaml 的 IPFS CID)和 hasIndexingErrors。

  4. The Graph 文档:查询子图

    官方文档 · 核对于:

    每个已发布子图在 Graph Explorer 里有唯一的查询地址,每个查询地址都需要有效的 API 密钥;GET 返回 405 时改用 POST。

  5. Alchemy 文档:白名单(Allowlists)

    官方文档 · 核对于:

    IP 白名单可以指定允许使用你 API 密钥的 IPv4 地址,其余一律拒绝;在应用的 Security 标签设置,修改可能需要几分钟生效。

  6. Requests 文档:代理

    官方文档 · 核对于:

    在每个请求上显式传入 proxies,避免被环境变量里的代理覆盖;代理用户名密码写成 http://user:password@host/。

  7. GreatFire 检测:thegraph.com 在中国大陆的访问情况

    第三方来源 · 核对于:

    2026-10-18 读取:thegraph.com 最近一次有效测试(2026-07-20)连接正常。

    第三方连通性测试,个别网络可能不同。

  8. Proxy302 静态机房(Web3 场景)配置

    产品观察 · 核对于:

    2026-10-18 核对控制台源码:Web3 场景下的静态机房页面按 IP 和租期计费,协议可选 HTTP 或 SOCKS5、默认 HTTP,地区不会自动预选,「自动续租 IP」显示「暂未开放」,并注明静态 IP 不参与轮换。页面上的 Web3 提示为「开发与工具联网:按 IP · 默认 HTTP CONNECT · 1 个固定出口 · 协议与租期自行选择」。2026-10-19 起「数量」可填 1–100,控制台逐个下单、分别扣费。

  9. Proxy302 价格说明

    产品观察 · 核对于:

    价格页公布:动态住宅低价线路 US$1.50/GB、优质线路 US$5.00/GB,均 1 GB 起;账户以 PTC 结算,1 PTC = US$1.00;静态 ISP 与机房 IP 的租金取决于地区、数量和租期,付款前显示(2026-10-09 已与生产环境商品目录核对)。

  10. Proxy302 辅助工具使用教程

    产品观察 · 核对于:

    教程说明:在中国大陆,代理要在海外网络下才能连上;在控制台「连接工具 → 辅助工具」下载并运行免费的辅助工具,再把它显示的本地地址和端口填进指纹浏览器、浏览器插件或手机,账号密码不变;已有能连海外的 VPN 也可以。

准备好接入了吗?

注册账号、一次充值,即可选择动态住宅、静态 ISP 或数据中心出口。动态住宅覆盖 195+ 国家与地区。