Skip to content

Anoma

Reference implementation of the Anoma protocol, written in Elixir, for running a node.

Stars
33.6k
Forks
4.1k
Licence
MIT
Language
Elixir
Last update
5 months ago
Type
App

What it is

Anoma is a reference implementation of the Anoma protocol, whose specifications are published separately. The README describes it as software for running an Anoma node, which can be started from a pre-built release or compiled from source. The README does not explain in plain terms what the protocol does for end users, so refer to the linked specification for that.

  • Run a local Anoma node from a pre-built release by extracting it and running bin/anoma
  • Build the project from source with mix deps.get and mix compile
  • Start an interactive Elixir shell with iex -S mix to work with a running instance
  • Build and run the project as a Docker image

Great for

  • Developers who want to read or contribute to a reference implementation of the Anoma protocol
  • Engineers studying distributed systems or peer-to-peer node software written in Elixir
  • People following the Anoma project's development through its public roadmap and research forums

Not ideal for

  • Non-developers looking for a finished end-user app: the README says user docs are 'Coming Soon'
  • Teams needing a stable production system: the project ships bi-weekly releases and the README lists known build issues
  • People unwilling to install Elixir, Rust and Protobuf tooling if they choose to build from source
Step-by-step guide: how to use AnomaInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Clone and build from source

    You'll need: Elixir · Erlang/OTP · Rust · Protobuf compiler (protoc) · protoc-gen-elixir 0.11.0

    Install the Elixir protobuf plugin

    mix escript.install hex protobuf 0.11.0

    Fetch dependencies

    mix deps.get

    Compile the project

    mix compile

    Start an interactive instance

    iex -S mix
  2. 2

    Run it

    • Install Elixir, Rust, Protobuf and the protoc-gen-elixir plugin as listed in the README
    • Run mix deps.get and mix compile from the repository root
    • Start an instance with iex -S mix for an interactive shell, or mix run --no-halt for a non-interactive one
    • If a build fails, check the Known Issues section of the README
  3. 3

    Get the most out of it

    • Use the contributor's guide in documentation/contributing.livemd for an in-depth view of the codebase
    • Follow the project board and research forum to track where the architecture is heading
    • Base any code contributions on the 'base' branch as the README instructs
    • Use the Docker build with --network host if you need the node reachable from the host machine

Downloads

Strengths

  • Open source under the MIT license, with the source code and specification publicly available
  • Has a published protocol specification and contributor documentation
  • Clear public channels for following development, including project boards and a research forum

Trade-offs

  • User and developer documentation is marked 'Coming Soon' in the README, so setup relies on contributor docs
  • Build can fail on some systems; the README documents workarounds for enacl and cairo dependencies
  • Requires a specific protoc-gen-elixir version (0.11.0) and a specific Rust toolchain (1.76.0) for some setups

How it compares

ProjectStarsTypeLevelUpdatedBest for
anoma (this)33.6kAppadvanced5 months agoDevelopers who want to read or contribute to a reference implementation of the Anoma protocol
bitcoin90.6kAppadvanced4 days agoPeople who want to verify Bitcoin transactions themselves rather than trust a third party
rqlite17.9kAppintermediate4 days agoDevelopers who want a replicated SQL database without running a large database server
ipfs23.1kOtherbeginner1.5 years agoDevelopers who want to learn how peer-to-peer content addressing works
Ciphey21.7kAppbeginner5 days agoCTF players working through encoding puzzles
webtorrent31.5kLibraryintermediate5 days agoDevelopers who want to add torrent downloading or streaming to a JavaScript web or Node.js app

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.