You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert

3
+

4
4
5
-
This is a boilerplate application written in Rust which can be forked to start a new project for the Ledger Nano X, S+, Stax and Flex devices.
5
+
This is the Mintlayer ledger application for the Ledger Nano X, S+, Stax and Flex devices.
6
6
7
7
:warning: Nano S is not supported
8
8
9
-
* Implements standard features (display address, transaction signature...),
10
-
* Has functional tests using [Ragger](https://github.com/LedgerHQ/ragger),
11
-
* Has CI workflows mandatory for app deployment in the Ledger store.
@@ -23,18 +14,18 @@ You can quickly setup a development environment on any platform (macOS, Linux or
23
14
24
15
By using Ledger's own developer tools [Docker image](https://github.com/LedgerHQ/ledger-app-builder/pkgs/container/ledger-app-builder%2Fledger-app-dev-tools), the extension allows you to **build** your apps with the latest SDK, **test** them on **Speculos** and **load** them on any supported device.
25
16
26
-
* Install and run [Docker](https://www.docker.com/products/docker-desktop/).
27
-
* Make sure you have an X11 server running :
28
-
* On Ubuntu Linux, it should be running by default.
29
-
* On macOS, install and launch [XQuartz](https://www.xquartz.org/) (make sure to go to XQuartz > Preferences > Security and check "Allow client connections").
30
-
* On Windows, install and launch [VcXsrv](https://sourceforge.net/projects/vcxsrv/) (make sure to configure it to disable access control).
31
-
* Install [VScode](https://code.visualstudio.com/download) and add [Ledger's extension](https://marketplace.visualstudio.com/items?itemName=LedgerHQ.ledger-dev-tools).
32
-
* Open a terminal and clone `app-boilerplate-rust` with `git clone git@github.com:LedgerHQ/app-boilerplate-rust.git`.
33
-
* Open the `app-boilerplate-rust` folder with VSCode.
34
-
* Use Ledger extension's sidebar menu or open the tasks menu with `ctrl + shift + b` (`command + shift + b` on a Mac) to conveniently execute actions :
35
-
***Build** the app for the device model of your choice with `Build`.
36
-
***Test** your binary on the [Speculos emulator](https://github.com/LedgerHQ/speculos) with `Run with emulator`.
37
-
* You can also **run functional tests**, load the app on a physical device, and more.
17
+
- Install and run [Docker](https://www.docker.com/products/docker-desktop/).
18
+
- Make sure you have an X11 server running :
19
+
- On Ubuntu Linux, it should be running by default.
20
+
- On macOS, install and launch [XQuartz](https://www.xquartz.org/) (make sure to go to XQuartz > Preferences > Security and check "Allow client connections").
21
+
- On Windows, install and launch [VcXsrv](https://sourceforge.net/projects/vcxsrv/) (make sure to configure it to disable access control).
22
+
- Install [VScode](https://code.visualstudio.com/download) and add [Ledger's extension](https://marketplace.visualstudio.com/items?itemName=LedgerHQ.ledger-dev-tools).
23
+
- Open a terminal and clone `app-boilerplate-rust` with `git clone git@github.com:LedgerHQ/app-boilerplate-rust.git`.
24
+
- Open the `app-boilerplate-rust` folder with VSCode.
25
+
- Use Ledger extension's sidebar menu or open the tasks menu with `ctrl + shift + b` (`command + shift + b` on a Mac) to conveniently execute actions :
26
+
-**Build** the app for the device model of your choice with `Build`.
27
+
-**Test** your binary on the [Speculos emulator](https://github.com/LedgerHQ/speculos) with `Run with emulator`.
28
+
- You can also **run functional tests**, load the app on a physical device, and more.
38
29
39
30
ℹ️ The terminal tab of VSCode will show you what commands the extension runs behind the scene.
40
31
@@ -44,24 +35,26 @@ By using Ledger's own developer tools [Docker image](https://github.com/LedgerHQ
44
35
45
36
If you do not wish to use the [VS Code extension](#with-vs-code), you can follow the following steps to setup a development environment on Linux, Windows or MacOS.
46
37
47
-
* The [ledger-app-dev-tools](https://github.com/LedgerHQ/ledger-app-builder/pkgs/container/ledger-app-builder%2Fledger-app-dev-tools) Docker image contains all the required tools and libraries to build, test and load an application on a device. You can download it from the ghcr.io docker repository:
38
+
- The [ledger-app-dev-tools](https://github.com/LedgerHQ/ledger-app-builder/pkgs/container/ledger-app-builder%2Fledger-app-dev-tools) Docker image contains all the required tools and libraries to build, test and load an application on a device. You can download it from the ghcr.io docker repository:
* On Ubuntu Linux, it should be running by default.
53
-
* On macOS, install and launch [XQuartz](https://www.xquartz.org/) (make sure to go to XQuartz > Preferences > Security and check "Allow client connections").
54
-
* On Windows, install and launch [VcXsrv](https://sourceforge.net/projects/vcxsrv/) (make sure to configure it to disable access control).
55
-
* You can then enter into this development environment by executing the following command from the directory of the application (`git` repository):
56
-
* Linux (Ubuntu):
43
+
44
+
- Make sure you have an X11 server running :
45
+
- On Ubuntu Linux, it should be running by default.
46
+
- On macOS, install and launch [XQuartz](https://www.xquartz.org/) (make sure to go to XQuartz > Preferences > Security and check "Allow client connections").
47
+
- On Windows, install and launch [VcXsrv](https://sourceforge.net/projects/vcxsrv/) (make sure to configure it to disable access control).
48
+
- You can then enter into this development environment by executing the following command from the directory of the application (`git` repository):
You can then send APDU using `ledgercomm` (`pip install ledgercomm`):
113
+
106
114
```
107
115
ledgercomm-send file test.apdu
108
116
```
117
+
109
118
### Loading on device
119
+
110
120
:warning: Loading the built application on a device shall be performed out of the Docker container, by using [ledgerctl](https://github.com/LedgerHQ/ledgerctl):
121
+
111
122
```shell
112
123
pip3 install ledgerwallet
113
-
````
114
-
ℹ️ Your device must be connected, unlocked and the screen showing the dashboard (not inside an application).
124
+
```
125
+
126
+
ℹ️ Your device must be connected, unlocked and the screen showing the dashboard (not inside an application).
The following workflows are executed in [GitHub Actions](https://github.com/features/actions) :
123
137
124
-
* Ledger guidelines enforcer which verifies that an app is compliant with Ledger guidelines. The successful completion of this reusable workflow is a mandatory step foran app to be available on the Ledger application store. More information on the guidelines can be foundin the repository [ledger-app-workflow](https://github.com/LedgerHQ/ledger-app-workflows)
125
-
* Compilation of the application forall supported devicesin the [ledger-app-builder](https://github.com/LedgerHQ/ledger-app-builder) docker image
126
-
* End-to-end tests with the [Speculos](https://github.com/LedgerHQ/speculos) emulator and [ragger](https://github.com/LedgerHQ/ragger) (see [tests/](tests/))
127
-
* Various lint checks :
128
-
* Source code lint checks with `cargo fmt`
129
-
* Python functional test code lint checks with `pylint` and `mypy`
138
+
- Ledger guidelines enforcer which verifies that an app is compliant with Ledger guidelines. The successful completion of this reusable workflow is a mandatory step for an app to be available on the Ledger application store. More information on the guidelines can be found in the repository [ledger-app-workflow](https://github.com/LedgerHQ/ledger-app-workflows)
139
+
- Compilation of the application for all supported devices in the [ledger-app-builder](https://github.com/LedgerHQ/ledger-app-builder) docker image
140
+
- End-to-end tests with the [Speculos](https://github.com/LedgerHQ/speculos) emulator and [ragger](https://github.com/LedgerHQ/ragger) (see [tests/](tests/))
141
+
- Various lint checks :
142
+
- Source code lint checks with `cargo fmt`
143
+
- Python functional test code lint checks with `pylint` and `mypy`
0 commit comments