celestia-node
CLAUDE.md1k starsChanged 2 years agoApache-2.0View on GitHub
Celestia-node implements Celestia's data availability nodes. Node wiring uses go.uber.org/fx: nodebuilder/*/module.go provides dependencies and nodebuilder/module.go composes them per node type. Imports are enforced by goimports-reviser with three groups: Any changes to *.proto files require running make pb-gen and committing the generated *.pb.go files. Changes to nodebuilder/**/config.go struct fields or .proto files are potentially breaking. You can run make detect-breaking locally to check.
Trending
More talk lately.about the whole repository
Who's talking about celestiaorg/celestia-node
- celestiaorg/CIPs“Celestia Core Devs Call 16”GitHub · Aug 7, 2024 · 4 reactions
- celestiaorg/go-square“Canonicalise Namespace and Share types”GitHub · Jun 10, 2024 · 4 reactions
- celestiaorg/docs“More info on the diff between node's API(RPC) and Gateway”GitHub · Jun 9, 2023 · 3 reactions
- celestiaorg/test-infra“testground/test-plan: initial scaffold for celestia-node”GitHub · May 13, 2022 · 3 reactions
- celestiaorg/nmt“api: `Push` for data/shares with decoupled namespace”GitHub · May 4, 2022 · 3 reactions
The biggest 5 of 39 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 39
Talked about on GitHub (39 times).
On GitHub · 39
- Aug 7, 2024Celestia Core Devs Call 16 — celestiaorg/CIPs4 reactions
- Jun 10, 2024Canonicalise Namespace and Share types — celestiaorg/go-square4 reactions · 1 comment
- Jun 9, 2023More info on the diff between node's API(RPC) and Gateway — celestiaorg/docs3 reactions · 2 comments
- May 13, 2022testground/test-plan: initial scaffold for celestia-node — celestiaorg/test-infra3 reactions · 2 comments
- May 4, 2022api: `Push` for data/shares with decoupled namespace — celestiaorg/nmt3 reactions · 2 comments
34 more on GitHub
- Oct 12, 2025fix(user): fixes bug in setup where partial setup (loading accts but not funding) prevents future starts — celestiaorg/celestia-app2 reactions · 1 comment
- Oct 9, 2025Minimal `TxClient` refactoring proposal — celestiaorg/celestia-app2 reactions · 5 comments
- Aug 21, 2025test: reproduce the bug in appshares parsing — celestiaorg/go-square2 reactions
- Jun 2, 2025[Feature] Celestia as an Alternative DA Layer — NethermindEth/Surge2 reactions · 2 comments
- May 13, 2025feat(pkg/user): Signer should still add account to its account map even if it doesn't exist (yet) — celestiaorg/celestia-app2 reactions
- Dec 10, 2024Sequence mismatch can needlessly occur when transactions are submitted during ReCheckTx phase — celestiaorg/celestia-core2 reactions
- Apr 17, 2024docs: celestia-node's `--node.store` flag is no longer necessary on RPC requests using default node stores — celestiaorg/docs2 reactions · 3 comments
- Jun 6, 2023chore: update common docker ci pipeline — celestiaorg/celestia-app2 reactions · 6 comments
- Jan 30, 2023docker: Images Security — celestiaorg/test-infra2 reactions · 1 comment
- Apr 25, 2022x/payment/pfd.go: Add canonical `PFD` constructor/signer/submittor methods — celestiaorg/celestia-app2 reactions · 1 comment
- Dec 2, 2021Create CHANGELOG.md, CHANGELOG-PENDING.md, and corresponding GH action — celestiaorg/celestia-app2 reactions · 2 comments
- Oct 23, 2026docs: [low] stop repeating the review level in PR descriptions — celestiaorg/celestia-app1 reaction · 1 comment
- Oct 22, 2026refactor: [high] migrate rsmt2d into an independent app module — celestiaorg/celestia-app1 reaction · 1 comment
- Oct 30, 2025[EPIC] Remove DA Interface — evstack/ev-node1 reaction
- Oct 23, 2025docs: add parallel transaction submission — celestiaorg/docs1 reaction · 1 comment
- Sep 5, 2025[TRACKER] Celestia production setup — Sovereign-Labs/sovereign-sdk1 reaction · 4 comments
- Apr 24, 2025Potential port conflict when running bridges nodes alongside consensus nodes — celestiaorg/celestia-app1 reaction · 1 comment
- Apr 11, 2025Refine CELESTIA_HOME usage — celestiaorg/celestia-app1 reaction · 8 comments
- Jan 16, 2025feat: document celestia-node support of the TLS certificates along with x-token authorisation token for the gRPC connection — celestiaorg/docs1 reaction
- Nov 20, 2024getter: Consider removing `GetByHash` — celestiaorg/go-header1 reaction
- Nov 13, 2024types: Investigate whether to use `tmjson` encoding on types shared between node + celestia-core — celestiaorg/celestia-core1 reaction · 3 comments
- Oct 23, 2024docs: update for node v0.20.x — celestiaorg/docs1 reaction · 1 comment
- Jul 13, 2024test(testnode): configure custom min gas price — celestiaorg/celestia-app1 reaction · 2 comments
- May 31, 2024feat: adapt Gas/Fee Auto estimation functionality — celestiaorg/celestia-openrpc1 reaction
- May 2, 2024Expose all celestia-node required endpoints through gRPC — celestiaorg/celestia-app1 reaction · 11 comments
- Nov 22, 2023ci(lint): golangci-lint and fieldalignment — celestiaorg/go-header1 reaction · 7 comments
- Sep 19, 2023feat(p2p)!: remove conngater dependency — celestiaorg/go-header1 reaction · 5 comments
- Jul 11, 2023feat(sync): add json tags — celestiaorg/go-header1 reaction
- Jun 6, 2023resp is not returned from `submitPFB` in case an error returns — celestiaorg/go-cnc1 reaction
- Apr 20, 2023refactor(p2p): Peer tracker respects context on Stop — celestiaorg/go-header1 reaction · 1 comment
- Apr 14, 2023chore(deps): bump celestiaorg/celestia-node from v0.8.2 to v0.9.0 — evstack/local-celestia-devnet1 reaction · 3 comments
- Mar 25, 2023doc: document p2p package — celestiaorg/go-header1 reaction · 2 comments
- Feb 1, 2023fix: use `baseHasher.Size` for `sha256Len` instead of `n.Size` — celestiaorg/nmt1 reaction · 1 comment
- Aug 29, 2022Migrate specs to individual repos — celestiaorg/celestia-specs1 reaction · 4 comments
The file
We split this CLAUDE.md into the rules it gives an agent
2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 58
Don't repeat the tag in the PR description.
- Very specific: line 59
Commit messages: conventional commits (e.g., feat(service/header): Title)
≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
CLAUDE.md
Celestia-node implements Celestia's data availability nodes. Node wiring uses go.uber.org/fx: nodebuilder/*/module.go provides dependencies and nodebuilder/module.go composes them per node type.
Common Commands
Build & Install
make build # Build celestia binary to build/
make install # Install celestia binary
make cel-shed # Build cel-shed utility
make cel-key # Build cel-key utilityTesting
make test-unit # Run unit tests with coverage
make test-unit-race # Run unit tests with race detector
go test ./path/to/package/... # Run tests for a specific package
go test -run TestName ./path/to/pkg/... # Run a single test
# Tastora E2E tests (Docker-based)
make test-blob # Blob module E2E tests
make test-e2e-sanity # E2E sanity suite
make test-tastora # All Tastora tests
make test-tastora RUN=TestBlobTestSuite # A single Tastora suiteCode Quality
make lint # Run golangci-lint + markdownlint + cfmt
make fmt # Format code (gofmt, goimports, cfmt, gofumpt, markdownlint)
make sort-imports # Sort Go imports
make lint-imports # Lint Go import orderingCode Generation
make pb-gen # Regenerate protobuf files (requires protoc)
make openrpc-gen # Generate OpenRPC spec
go generate ./... # Regenerate mocks (mockgen)Testing Infrastructure
- Tastora (
nodebuilder/tests/tastora/): Docker-based E2E tests; a separate Go module run with theintegrationbuild tag against a celestia-node image (CELESTIA_NODE_TAG).
Code Conventions
PR & Commit Style
- PR titles:
type(pkg): [level] subject(e.g.,fix(service/header): [medium] remove race in core_listener). CI enforces the format. - Levels:
[high]deep review (DAS/availability verification, shrex/p2p protocol, header verification, fraud proofs, state/tx submission, breaking API/config changes, security);[medium]standard review for limited-impact code changes;[low]docs, tests, or tooling. Pick the higher level when unsure. See CONTRIBUTING.md#pr-naming. - Don't repeat the tag in the PR description; the title already carries it.
- Commit messages: conventional commits (e.g.,
feat(service/header): Title)
Import Ordering
Imports are enforced by goimports-reviser with three groups:
- Standard library
- Third-party packages
github.com/celestiaorgpackages (company prefix), withgithub.com/celestiaorg/celestia-nodeas the project
Proto Changes
Any changes to *.proto files require running make pb-gen and committing the generated *.pb.go files.
Config Changes
Changes to nodebuilder/**/config.go struct fields or .proto files are potentially breaking. You can run make detect-breaking locally to check.
Security PRs
- For PRs that resolve Hacken bug bounty reports, do not include details about the bug in the PR description. Instead, link to a Linear issue that contains more details on the bug and the link to the Hacken bug bounty report.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

