@iota/ledgerjs-hw-app-iota
Version:
Ledger Hardware Wallet IOTA Application API
143 lines (102 loc) • 3.96 kB
Markdown
[](https://github.com/LedgerHQ/ledgerjs/),
[](https://developers.ledger.com/),
[](https://developers.ledger.com/discord-pro)
`@iota/ledgerjs-hw-app-iota` is part of the **IOTA Rebased SDK**, designed specifically for interacting with the IOTA Rebased protocol.
[](https://www.ledger.com/) JavaScript bindings for [IOTA](https://iota.org/),
based on [LedgerJS](https://github.com/LedgerHQ/ledgerjs).
Here is a sample app for Node:
```javascript
const Transport = require('@ledgerhq/hw-transport').default;
const Iota = require('@iota/ledgerjs-hw-app-iota').default;
const getPublicKey = async () => {
const iota = new Iota(await Transport.create());
return await iota.getPublicKey("44'/4218'/0'/0'/0'");
};
const signTransaction = async () => {
const iota = new Iota(await Transport.create());
return await iota.signTransaction("44'/4218'/0'/0'/0'", '<transaction contents>');
};
const getVersion = async () => {
const iota = new Iota(await Transport.create());
return await iota.getVersion();
};
const doAll = async () => {
console.log(await getPublicKey());
console.log(await signTransaction());
console.log(await getVersion());
};
doAll().catch((err) => console.log(err));
```
- [IOTA](
- [Parameters](
- [Examples](
- [getPublicKey](
- [Parameters](
- [Examples](
- [signTransaction](
- [Parameters](
- [Examples](
- [getVersion](
- [Parameters](
- [Examples](
- `transport` **`Transport<any>`**
- `scrambleKey`
**[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
(optional, default `"Iota"`)
```javascript
import Iota from 'ledgerjs-hw-app-iota';
const transport = await Transport.create();
const iota = new Iota(transport);
```
Gets the IOTA 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
- `displayOnDevice`
**[boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**
whether or not to display the address on the Ledger device.
```javascript
const publicKey = await iota.getPublicKey("44'/4218'/0'/0'/0'");
```
Returns
**[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>**
an object with a public key.
Sign a transaction with a given BIP-32 path.
- `path`
**[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**
a path in BIP-32 format
```javascript
const publicKey = await iota.signTransaction("44'/4218'/0'/0'/0'", '<transaction contents>');
```
Returns
**[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<[object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)>**
an object with text field containing a signature.
Get the version of the application installed on the hardware device.
```javascript
console.log(await iota.getVersion());
```
for version 0.1.0, it produces something like
```
{
major: 0
minor: 1
patch: 0
}
```
Returns
**[Promise](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)<{[object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)}>**
an object with major, minor, and patch of the version.