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 betterdocs/
Documentation for the code and processes for contributing are here. The documentation website with the walkthrough docs lives infrontend/website/docs
.frontend/
All code related to Mina frontend UIs and productswallet/
Source code for the Mina walletwebsite/
Code for https://minaprotocol.comdocs/
Documentation and instructions on joining the Mina network that live at https://minaprotocol.com/docsposts/
Markdown docs for blog postssrc/
Source code for the websitestatic/
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.*.opam
These files are needed for ourdune
build system. There must be one for each library inlib
. When you create a librarylib/foo_lib
with adune
file giving the library's name asfoo_lib
, you must create afoo_lib.opam
file.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 tofrontend/website/
reformat/
This program runsocamlformat
on most of the files in the source tree, with a few exceptions.logproc/
This utility reads fromstdin
and 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