Here's all you need to know to start contributing to kimchi.
- The following video goes over the project organization.
- The Mina book contains specifications, rust documentation, RFCs, and explainers on the different aspects of the system.
- The Discussion page can be used to start discussions or ask questions.
We have a list of easy task to start contributing. Start over there.
- Follow these instructions to install OCaml: https://ocaml.org/docs/install.html
- Follow these instructions to install Rust: https://rustup.rs/
Windows development can be done using Windows Subsystem for Linux (WSL).
- Install and open WSL
- Within WSL, install OCaml using your distro's package manager. For example:
apt install opam
- Within WSL, navigate to the project directory and run
cargo test
. If there are no failures then everything is set up correctly.
To run tests:
cargo test --all-features --release
Takes about 5-8 minutes on a MacBook Pro (2019, 8-Core Intel Core i9, 32GB RAM). Without --release
, more than an hour.
To scan for lints:
cargo clippy --all-features --tests --all-targets -- -D warnings
Note: cargo can automatically fix some lints. To do so, add --fix
to the above command (as the first parameter).
Finally, to check formatting:
cargo fmt
These are enforced by GitHub PR checks, so be sure to have any errors produced by the above tools fixed before pushing the code to your pull request branch. Refer to .github/workflows
for all PR checks.