Be sure to have your environment correctly set up (see Getting Started) and ledgerblue installed.
If you want to benefit from vscode integration, it's recommended to move the toolchain in /opt and set BOLOS_ENV environment variable as follows
BOLOS_ENV=/opt/bolos-devenv
and do the same with BOLOS_SDK environment variable
BOLOS_SDK=/opt/nanos-secure-sdk
make DEBUG=1  # compile optionally with PRINTF
make load     # load the app on the Nano using ledgerblue
High level documentation on the architecture and interface of the app:
- acre.md: specifications of application commands.
 - wallet.md: supported wallet signing policies.
 - merkle.md: rationale and specifications for the usage of Merkle trees.
 
Additional documentation can be generated with doxygen
doxygen .doxygen/Doxyfile
the process outputs HTML and LaTeX documentations in doc/html and doc/latex folders.
A Python client library is available in this repository.
The flow processed in GitHub Actions is the following:
- Code formatting with clang-format
 - Compilation of the application for Ledger Nano S in ledger-app-builder
 - Unit tests of C functions with cmocka (see unit-tests/)
 - End-to-end tests with Speculos emulator (see tests/)
 - Code coverage with gcov/lcov
 - Documentation generation with doxygen
 
It outputs 4 artifacts:
acre-app-debugwithin output files of the compilation process in debug modecode-coveragewithin HTML details of code coveragedocumentationwithin HTML auto-generated documentation