@ledgerhq/hw-app-canton
Version:
Ledger Hardware Wallet Canton Application API
106 lines (62 loc) • 3.52 kB
Markdown
<img src="https://user-images.githubusercontent.com/4631227/191834116-59cf590e-25cc-4956-ae5c-812ea464f324.png" height="100" />
[ ](https://github.com/LedgerHQ/ledger-live/),
[ ](https://developers.ledger.com/discord-pro),
[ ](https://developers.ledger.com/)
Ledger Hardware Wallet Canton JavaScript bindings.
***
You may be using this package to communicate with the Canton Nano App.
For a smooth and quick integration:
* See the developers’ documentation on the [Developer Portal](https://developers.ledger.com/docs/transport/overview/) and
* Go on [Discord](https://developers.ledger.com/discord-pro/) to chat with developer support and the developer community.
<!-- Generated by documentation.js. Update this documentation by updating the source code. -->
* [Canton](
* [Parameters](
* [getAddress](
* [Parameters](
* [signTransaction](
* [Parameters](
* [getAppConfiguration](
Canton BOLOS API
* `transport` **Transport**&
* `scrambleKey` (optional, default `"canton_default_scramble_key"`)
Get a Canton address for a given BIP-32 path.
* `path` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** a path in BIP-32 format
* `display` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** whether to display the address on the device (optional, default `false`)
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<CantonAddress>** the address and public key
Sign a Canton transaction.
* `path` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** a path in BIP-32 format
* `txHash` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** the transaction hash to sign
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<CantonSignature>** the signature
Get the app configuration.
Returns **[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<AppConfig>** the app configuration including version
Download latest version of Ledger SDK.
```sh
docker pull ghcr.io/ledgerhq/ledger-app-builder/ledger-app-dev-tools:latest
```
The rest of the documentation is about testing on NanoSP.
You have to [compile](https://github.com/ledgerhq/app-canton) or retrieve the app binaries. In the following line, the binaries directory is set as `<ABSOLUTE_PATH_TO_ELFS>`
```sh
docker run --rm -t -d -v "<ABSOLUTE_PATH_TO_ELFS>:/app" -p 5000:5000 ghcr.io/ledgerhq/ledger-app-builder/ledger-app-dev-tools:latest
docker exec -it speculos bash -c 'speculos --model "nanosp" /app/exchange_nanosp.elf -l /app/ethereum_nanosp.elf --display headless'
```
From Ledger Live root directory:
```sh
pnpm ljs:hw-app-canton test-integ
```
You can take a look at [Speculos UI](http://127.0.0.1:5000/)