Becoming a Core Protocol Contributor
This section is for systems engineers, compiler writers, protocol researchers, formal methods practitioners, and developers who want to contribute to the core of Cardano: not build applications on top of it.
This is a parallel track, not a destination you reach after shipping a dApp. If your background is in programming languages, distributed systems, cryptography, or formal verification, this is your entry point.
Start Here: The Cardano Blueprint
Before choosing a language path, read the Cardano Blueprint.
The Blueprint is implementation-independent documentation explaining how the Cardano protocol works: node architecture, ledger state machine, consensus mechanics, and networking: written in accessible Markdown with diagrams and test data, not dense academic LaTeX. It applies equally to every language path below. Reading it first will make every codebase significantly easier to navigate.
Choose Your Path
| Language | Node / Project | Stage | Guide |
|---|---|---|---|
| Haskell | cardano-node: the reference implementation | Production | Haskell Core Contributor |
| Rust | Amaru (Pragma), Pallas / Dolos (TxPipe) | Active development | Rust Core Contributor |
| Go | Dingo (Blink Labs) | Testnet / active development | Go Core Contributor |
None of these paths requires the others as a prerequisite. Choose based on your background and the kind of work you want to do.
Shared Resources
These apply to all three paths:
- Cardano Blueprint: start here
- Shelley Ledger Formal Spec: the foundational ledger rules
- Conway Ledger Spec: CIP-1694 governance, Conway era rules
- Ouroboros papers: the consensus protocol proofs
- CIPs repository: where protocol-level changes are proposed
- Essential Repositories: full list of core and community repos
Contributing to Protocol Direction
Core protocol work doesn't require writing code to participate. Intersect's Technical Steering Committee (TSC) working groups shape which CIPs get prioritized and which protocol changes get funded: across all node implementations.
See Contributing to Intersect for how to find and join working groups. See the Intersect Membership Guide for membership access.
For contributing to this documentation site, see the Contributing Guidelines.