This is an implementation of the Anoma protocol, whose specs can be found here.
Work is merged into base
on a bi-weekly (once every two weeks)
schedule.
Development can be followed in multiple ways:
- Issues are put into the project overview
- This is a good way to see what work is assigned and the various views into how goals are being met
- Promise Graph from the project overview
- This is the same information as
1.
but using our own promise graph tooling. This is kept up to date hourly.
- This is the same information as
- What's Cooking on Anoma
- Issues and pull requests
- This is good for viewing new issues and work coming in, but the other views are typically a better way to view this
To have a working Anoma Node the following dependencies are required:
cmake
Erlang
Elixir
zig
rust
brew install elixir
brew install zig
All the dependencies can be grabbed from your distro's package manager.
To install the dependencies as well as Anoma run:
mix deps.get
mix compile
To start an Anoma instance run one of these:
iex -S mix # starts an interactive shell
mix run --no-halt # starts a non-interactive shell
See the Contributing section for how to get the best use of the interactive shell.
Please read the contributor's guide for in depth details about the codebase.
This codebase follows a git style similar to git or linux.
New code should be based on base
, and no attempt to keep it up to
sync with main
should be had. When one's topic is ready, just submit
a PR on github and a maintainer will handle any merge conflicts.
There are bi-weekly releases, so do not be afraid if a maintainer says
the PR is merged but it's still open, this just means that it's merged
into next
or main
and will be included in the next scheduled
release.
For more information on a smooth git experience check out the git section in contributor's guide
Happy hacking, and don't be afraid to submit patches.