@iota/ledgerjs-hw-app-iota
v0.2.1
Published
Ledger Hardware Wallet IOTA Application API
Downloads
38
Readme
Ledger Github, Ledger Developer Portal, Ledger Developer Discord
ledgerjs-hw-app-iota
Ledger Hardware Wallet JavaScript bindings for IOTA, based on LedgerJS.
Using LedgerJS for IOTA
Here is a sample app for Node:
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));
API
Table of Contents
Parameters
transport
Transport<any>
scrambleKey
string (optional, default"Iota"
)
Examples
import Iota from 'ledgerjs-hw-app-iota';
const transport = await Transport.create();
const iota = new Iota(transport);
getPublicKey
Gets the IOTA address for a given BIP-32 path.
Parameters
path
string a path in BIP-32 formatdisplayOnDevice
boolean whether or not to display the address on the Ledger device.
Examples
const publicKey = await iota.getPublicKey("44'/4218'/0'/0'/0'");
Returns Promise<string> an object with a public key.
signTransaction
Sign a transaction with a given BIP-32 path.
Parameters
path
string a path in BIP-32 format
Examples
const publicKey = await iota.signTransaction("44'/4218'/0'/0'/0'", '<transaction contents>');
Returns Promise<object> an object with text field containing a signature.
getVersion
Get the version of the application installed on the hardware device.
Examples
console.log(await iota.getVersion());
for version 0.1.0, it produces something like
{
major: 0
minor: 1
patch: 0
}
Returns Promise<{object}> an object with major, minor, and patch of the version.