Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

[Bug] Celo blocks before Gingerbread fail to parse since v0.42.0 (missing `sha3Uncles`)

未关闭
#6,738 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
52/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
活跃
技术栈
rust

调研方向

Read the Alloy migration in #6063 and the earlier Celo fix in commit bfba0af or #2284 to see how the missing sha3Uncles field was handled. Reproduce the deserialization failure for a pre-Gingerbread block such as 18946750, then trace the block parsing path. Done means those blocks parse successfully while post-Gingerbread behavior remains correct.

由索引模型根据 Issue 内容生成。

描述

bug
Bug report

Since v0.42.0, graph-node can't parse Celo blocks from before the Gingerbread hard fork (mainnet block 21616000). Every eth_getBlockByNumber / eth_getBlockByHash call for such a block fails, and the call is retried without a limit:

    Trying again after eth_getBlockByNumber RPC call for block number 18946750 failed (attempt #6) with result Err(deserialization error: missing field `sha3Uncles` at line 1 column 2161 ...

Subgraphs that need these blocks from RPC stall on re-deployments, re-syncs, and grafts with a start block before 21616000.

Root cause

Celo blocks before Gingerbread have no uncles hash in their header, so RPC nodes omit sha3Uncles. Gingerbread added the field back.

  • Up to v0.41.x, graph-node used rust-web3 fork. Commit bfba0af (2021-03-16, pulled in by #2284) made the lack of sha3Uncles for Celo not an issue by establishing a default value.
  • #6063 (merged 2026-01-22, released in v0.42.0) replaced rust-web3 with alloy. The Celo patch wasn't ported for the alloy library.
Relevant log output
Trying again after eth_getBlockByNumber RPC call for block number 18946750 failed (attempt #6) with result Err(deserialization error: missing field `sha3Uncles` at line 1 column 2161 ...
IPFS hash

No response

Subgraph name or link to explorer

No response

Some information to help us out
  • Tick this box if this bug is caused by a regression found in the latest release.
  • Tick this box if this bug is specific to the hosted service.
  • I have searched the issue tracker to make sure this issue is not a duplicate.
OS information

Linux

主要语言
Rust
星标
3.2k
派生
1.1k
PR 合并指标
30 天内没有已合并 PR

环境准备

在 Codespaces 中打开

在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

graphprotocol/graph-node 的其他 Issue

查看 graphprotocol/graph-node 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。