Anoma is a reference implementation of the Anoma protocol, a blockchain system written primarily in Elixir that emphasizes privacy, decentralization, and intent-centric design. The protocol specifications are maintained separately at specs.anoma.net, with the repository serving as the canonical implementation of those specifications. The project is classified as addressing blockchain, privacy, decentralized systems, zero-knowledge proofs, proof-of-stake consensus, and scalability challenges.
The repository maintains a structured development workflow with work merged into the base branch on a bi-weekly schedule. Development progress can be tracked through multiple channels including a project overview board, a "What's Cooking on Anoma" tracking view, research forums where architecture discussions occur at a rate of approximately two posts per week, and traditional GitHub issues and pull requests. The research forums specifically host architecture posts that outline the practical vision for how the codebase's architecture will evolve over time.
The repository's contributor base overlaps with major projects including microsoft/vscode, microsoft/typescript, and rust-lang/rust, suggesting involvement from developers working across multiple significant ecosystems.
The codebase is built with Elixir as the primary language but incorporates Rust components, particularly for cryptographic operations and the Cairo dependency. Building from source requires Elixir, Rust, Protobuf, and the Elixir plugin for protobufs. The project provides pre-built binaries for multiple platforms and supports Docker-based deployment. Platform-specific build instructions are documented for macOS, Ubuntu/Debian, and Windows, with known issues documented for common compilation problems including enacl and Cairo dependency issues on certain operating systems.
The project follows a git workflow similar to the Linux kernel, where new code is based on the base branch without requiring synchronization with main. Pull requests are merged into next or main branches ahead of bi-weekly releases, so merged PRs may remain open until the next scheduled release cycle. The repository includes comprehensive contributor documentation, a contributor's guide covering codebase details and git workflow practices, and specification documentation. The development team actively maintains documentation for running nodes, compilation procedures, and Docker deployment while noting that developer and user documentation are marked as coming soon.