A new version of Mina Docs is coming soon! This page will be rewritten.
Repository Structure
This document describes the file-structure of the Mina repository, and what roles various files play:
- dockerfiles/Contains Docker related scripts - TODO explain this better
- docs/Documentation for the code and processes for contributing are here. The documentation website with the walkthrough docs lives in- frontend/website/docs.
- frontend/All code related to Mina frontend UIs and products- wallet/Source code for the Mina wallet
- website/Code for https://minaprotocol.com- docs/Documentation and instructions on joining the Mina network that live at https://minaprotocol.com/docs
- posts/Markdown docs for blog posts
- src/Source code for the website
- static/Static files like images, etc.
 
 
- rfcs/This directory contains all accepted RFCs (or "requests for comments") made according to the RFC process.
- scripts/
- src/All protocol source code, both application and library code, is in this directory.- *.opamThese files are needed for our- dunebuild system. There must be one for each library in- lib. When you create a library- lib/foo_libwith a- dunefile giving the library's name as- foo_lib, you must create a- foo_lib.opamfile.
- config/Build time config - these .mlh files define compile time constants and their values.
- app/Applications live here.- cli/This is the mina client/daemon. It is what you use to run a staker, a snarker, or a simple client for sending and receiving transactions.
- website/Soon to be deprecated directory for the website - most of the code has migrated over to- frontend/website/
- reformat/This program runs- ocamlformaton most of the files in the source tree, with a few exceptions.
- logproc/This utility reads from- stdinand can filter and pretty print the log messages emitted by the mina daemon.
- libp2p_helper/This program uses go-libp2p to implement the peer-to-peer plumbing that Mina daemons need.
 
- external/Local copies of external libraries which we've had to make some tweaks to.
- lib/Libraries powering mina. The libraries here basically fall into two categories.- General purpose data-types and functionality. This includes snarky,fold_lib,vrf_lib,sgn, and others.
- Application specific functionality, structured as a library. This includes syncable_ledger,staged_ledger,transaction_snark, and others.
 
- General purpose data-types and functionality. This includes