/mina

Mina is a cryptocurrency protocol with a constant size blockchain, improving scaling while maintaining decentralization and security.

Primary LanguageOCamlApache License 2.0Apache-2.0

Mina

GitHub stars  GitHub forks

GitHub contributors  GitHub commit activity  GitHub last commit

Develop1 Compatible2 Master3
Build status - develop Build status - compatible Build status - master

Mina is the first cryptocurrency with a lightweight, constant-sized blockchain. This is the main source code repository for the Mina project and contains code for the OCaml protocol implementation, the Mina Protocol website, and wallet. Enjoy!

Notes

Mina is still under active development and APIs are evolving. If you build on the APIs, be aware that breaking changes can occur.

The Mina implementation of the Rosetta API offers a more stable and useful interface for retrieving the blockchain's state. Rosetta is run as a separate process and it relies on an archive being connected to a node. The source code for the archive and Rosetta implementation are in src/app/archive and src/app/rosetta. Be sure to follow updates in the project if these resources are relocated.

What is Mina?

Mina Walkthrough

Technical Papers

Blog

Contributing

For information on how to make technical and non-technical contributions, see the repository contributing guidelines in CONTRIBUTING and the Contributing Guide docs.

Developers

The Node Developers docs contain helpful information about contributing code to Mina and using Mina APIs to build applications.

Quick Links

Community

  • Join the public Mina Protocol Discord server. Please come by if you need help or have any questions.
  • Participate in our online communities.
  • Get the latest updates by signing up for the Mina newsletter. Select SIGN UP FOR NEWSLETTER on the home page of the Mina Protocol website.

License

Apache 2.0

Commits older than 2018-10-03 do not have a LICENSE file or this notice, but are distributed under the same terms.

Footnotes

  1. Develop is a mainline branch containig code that may be not compatible with current mainnet and may require major upgrade (hardfork).

  2. Compatible is a mainline branch containig code which does not need hardfork in order to apply it to mainnet.

  3. Branch which contains current mainnet code.