Provide a quick and easy way to build and test applications for Ledger devices.
The extension uses Ledger's own Alpine based Docker image to allow developers to setup a build and test environment in a few minutes.
- Build your app for all Ledger devices : Nano S, Nano S Plus, Nano X, Stax.
- Supports C and Rust apps.
- Stay up to date with the latest SDK.
- Run tests on the device emulator (Speculos) or on a real device.
- Supports multiple apps folders in the same workspace, each folder having its own Docker container.
- See what's executed by the extension in VS Code's terminal panels.
Automatically add tasks to help you build, test and load your app on a physical device. These tasks are accessible through the build task menu keyboard shortcut to avoid clicking around.
The tasks are all accessible through an easy to use sidebar menu.
Status bar items to quickly identify :
- Which device you are currently building your app for.
- The status of the Ledger developer tools Docker image.
- Docker should be installed and running.
- On macOS and Windows, make sure an X Window System server is installed and running (see XQuartz for mac and VcXsrv for windows) otherwise, some testing tasks will not work. Make sure client connections are allowed.
This extension contributes the following settings:
ledgerDevTools.onboardingPin
: Set the device quick onboarding PIN code.ledgerDevTools.onboardingSeed
: Set the device quick onboarding 24-word Seed phrase.ledgerDevTools.dockerImage
: Set the Ledger developer tools Docker image.ledgerDevTools.additionalDepsPerApp
: Add dependencies for current app's functional tests (for instance 'apk add python3-protobuf').ledgerDevTools.keepContainerTerminal
: Indicates to keep the Terminal window opened after a successful Container Update.ledgerDevTools.containerUpdateRetries
: Set the max number of Container Update retries.
- Add support for Rust apps (no sideloading yet).
- Fix various display bugs.
- Add welcome view when no app folder is detected in the workspace.
- Dynamic tasks list : disable functional tests tasks when no
conftest.py
file is found or if task is not defined for app language.
- Add setting parameter allowing to automatically close the terminal Window when the Container Update is successful.
- Add setting parameter to set the max number of allowed Container Update retries avoiding the infinite loop.
- Add 'delete app from device' feature.
- Do a 'git submodule update --init --recursive' before the build tasks.
- Remove unfinished 'delete app from device' feature.
- Fix infinite container spawning loop bug on Windows (for real this time).
- Better tooltips for sidebar items.
- New command to add additional test dependencies in app docker container.
- Fix infinite container spawning loop bug.
- Add icons to side bar root items.
- Add auto run of docker containers.
- Code refactoring.
- New tasks :
- Run app in Speculos,
- Kill Speculos,
- On device functional tests,
- Device quick onboarding.
Fixes app detection for Windows.
Add multi-folder workspace support. User can now choose which app to build from a quickpick menu.
Adds container terminal task to side bar items.
Fixes workspace path in docker run task for Windows.
Add extension icon.
Initial release of the extension.