Developing and submitting a device app
Development and submission phases
See the complete submission flow here.
Your developer journey
Engage with the Ledger developer community
Joining Discord is not required to code your device application, but it will be easier to meet with our team and discuss the specifics of your project. Join us on the Ledger's Discord server (opens in a new tab) and introduce your project in the #embedded-app channel.
Understand the process & meet the requirements
Ensure that you have a clear understanding of the Process and are able to meet the Requirements and produce the deliverables.
Begin Coding
Device applications are primarily developed in C using the Blockchain Open Ledger Operating System (BOLOS).
To develop a device application, ensure that you:
- Use Linux, Mac or Windows
- Know about the Ledger Framework and all the environment tools
- Know how to test your application, using either a physical device or the Speculos emulator
Used languages and format
Languages
Component | Developing language |
---|---|
OS Bolos | C |
Applications | C or Rust |
Plugins | C |
Tools (including tests) | Python (mostely) |
Data formats
Component | Format |
---|---|
CI (GitHub Workflows) | YAML |
ledger_app.toml manifests | TOML |
App database | JSON |
The available SDK is for Apps written in C
For the Apps written in Rust, a Rust SDK is available (only for Nano S/S+/X devices, Stax not supported yet).
Documentation version
The current version of the Device App documentation displayed on the Developer Portal is v04_20240126.
Contributing
Interested in enhancing our documentation? Feel free to leave your suggestions in the comment box at the bottom of each page. We value your input.