Repository Structurea
This document describes the file-structure of the Coda 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 infrontend/website/docs. -
frontend/
All code related to Coda frontend UIs and products-
wallet/
Source code for the Coda wallet -
website/
Code for https://codaprotocol.com-
docs/
Documentation and instructions on joining the Coda network that live at https://codaprotocol.com/docs -
jobs/
Current job openings at O(1) Labs - we're hiring! -
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.-
*.opam
These 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 coda 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 coda daemon. -
kademlia-haskell/
This is a simple wrapper around a Haskell implementation of the kademlia DHT.
-
-
external/
Local copies of external libraries which we've had to make some tweaks to. -
lib/
Libraries powering coda. 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
-