perf(state): avoid full header decode in StateAtBlockNumber
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 72/100
- Issue type
- Refactor
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- go
- Domain
- backend, performance
Research direction
Start at StateAtBlockNumber and compare pruner.HeaderByNumberIfStateRetained with the reference implementation in pull request 3782. Trace the historical-state lookup and verify that only GlobalStateRoot and Hash are decoded for the state-retention check, without materializing unused fields such as EventsBloom.
Written by the indexing model from the issue text.
Description
StateAtBlockNumber currently calls pruner.HeaderByNumberIfStateRetained, which fully decodes the block header even though opening historical state only needs:
GlobalStateRoot
Hash, for the state-retention hash → number check
A partial-header decode could avoid materializing heavier unused fields such as EventsBloom.
Use https://github.com/NethermindEth/juno/pull/3782 as reference implementation
- Dominant language
- Go
- Stars
- 444
- Forks
- 244
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 78
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from NethermindEth/juno
-
Bug no-stale
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
NethermindEth/juno#3741 ·
-
NethermindEth/juno#4082 · 1 assignee ·
-
Concurrent traceTransaction requests targeting the same preconfirmed transaction repeat VM work Open
NethermindEth/juno#4058 · 1 assignee ·
-
corpus-gen: support `starknet_estimateFee`, `starknet_simulateTransactions` and `starknet_call` Open
NethermindEth/juno#4056 · 1 assignee ·
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
NethermindEth/juno#4051 ·
All issues in NethermindEth/juno
Similar issues
-
optimization optimization:agents-md-curator
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
githubnext/gh-aw-cao#13143 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
blinklabs-io/bursa#904 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
yanet-platform/ipfw-go#129 ·
-
bug confmap/provider/googlesecretmanagerprovider needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
open-telemetry/opentelemetry-collector-contrib#51273 · 2 comments ·
-
bug: AI Gateway client filter lists "Unknown" twice when NULL and literal Unknown clients coexist Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 90/100