Frequently Asked Questions | Developers

Frequently Asked Questions

Estimated reading time: 3 minutes

Question/Problem Answer
When trying to build a Ledger embedded app via the make command on some apps, this error could appear fatal error: 'zxmacros.h' file not found (or any other .h file). Run git submodule update --init on the repo’s root or git clone" --recurse-submodules.
What is the maximum size of a message that can be sent in a single APDU? The length of the data part is 255 bytes and the whole message sent in a single APDU is 260 bytes with the blocks cla, ins, p1, p2 and one extra byte that encodes the length of the data that follows.
The Ledger team can not fork a repo which is already a fork on LedgerHQ (e.g. ledger-panacea is a clone of ledger-cosmos but LedgerHQ has already a fork of ledger-cosmos). This is a limitation of GitHub and the only solution for this is to break the link between the repository and the upstream one. This is done like in this tutorial.
Can I freely choose the CLA in my embedded app as long as it is one byte or is there eanything I need to be aware of? Apart from not using a few CLAs that are reserved for the SDK, OS, etc, developers are free to choose. For example, 0xB0 is for SDK.
How can I load an app without Ledger Live on my ledger nano S or S+? Here are the links to the documentation for Linux users and for Mac users.
When do I have to build the Docker image? As Ledger provides these Docker images on the Docker repository (see this page for more details), you don’t have to build the Docker image yourself. However if you do (instructions are here), remember to update it every time a new SDK version is published.
When I build the application, I have this error message: No targets specified and no makefile found. You need to go down one level in the repo to the app subfolder and then run the make command. You must have launched your ledger-app-builder before.
I’m getting the error message Ledger device: CLA_NOT_SUPPORTED. Many reasons could occur this error: the embedded app does not support the functionality you are implementing yet, you opened the wrong embedded app, or the CLA byte is not correctly set.
How do I verify that my product is genuine (in CLI)? You can check it by connecting your hardware wallet and executing the following commands in this documentation.
Could we submit an Embedded App for a developer release when the blockchain is still on testnet? Yes, it’s possible.
GitHub actions are suddenly failing because the code rely on brew, what should I do? You have to remove brew from the codebase. brew has been removed from GitHub base ubuntu images. This link is the description of the latest ubuntu image. It points to the issue where brew has been removed.

Did you find this page helpful?

How would you improve this page for developers?

Application Environment
Getting Started
Theme Features

Embedded Apps