This is a boilerplate application which can be forked to start a new project for the Ledger Nano S/X.
Be sure to have your environment correctly set up (see Getting Started) and ledgerblue and 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 (require debug firmware)
make load # load the app on the Nano using ledgerblue
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:
boilerplate-app-debug
within output files of the compilation process in debug modespeculos-log
within APDU commands and response when executing end-to-end testscode-coverage
within HTML details of code coveragedocumentation
within HTML auto-generated documentation