VS Code extension that provides a quick and easy way to build and test applications for Ledger devices.
The extension uses Ledger's own 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 and Flex.
- 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.
- Run development guidelines checks to ensure your app is ready to get deployed
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.dockerRunArgs
: Any additional command line args to pass to thedocker run
command for the Ledger developer tools Docker image.ledgerDevTools.additionalReqsPerApp
: Add prerequisites for current app's functional tests (for instance 'apk add python3-protobuf').ledgerDevTools.keepTerminal
: Indicates to keep the Terminal window opened after a successful task execution.ledgerDevTools.openContainerAsRoot
: Open docker container usingroot
:root
user.ledgerDevTools.containerUpdateRetries
: Set the max number of Container Update retries.ledgerDevTools.userScpPrivateKey
: Use the host'sSCP_PRIVKEY
environment variable when loading/deleting app on device. Cf. https://developers.ledger.com/docs/embedded-app/pin-bypassledgerDevTools.defaultDevice
: Select the default DeviceledgerDevTools.enableDeviceOpsForNanoX
: Allow device operations on Nano X (requires special development device)
To check full changelog click here.