Repository Structure
The file structure of the Mina repositorythe roles various files play:
dockerfiles/Contains Docker-related scriptsdocs/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.composts/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.*.opamThese files are needed for ourdunebuild system. There must be one for each library inlib. When you create a librarylib/foo_libwith adunefile giving the library's name asfoo_lib, you must create afoo_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 tofrontend/website/reformat/This program runsocamlformaton most of the files in the source tree, with a few exceptions.logproc/This utility reads fromstdinand 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