Ledger Hardware Wallet JavaScript bindings for Provenance, based on LedgerJS.
Here is a sample app for Node:
const Transport = require("@ledgerhq/hw-transport").default;
const Provenance = require("hw-app-hash_token").default;
const getPublicKey = async () => {
const hash_token = new Provenance(await Transport.create());
return await hash_token.getPublicKey("44'/505'/0'/0/0");
};
const signTransaction = async () => {
const transport = await Transport.create();
const hash_token = new Provenance(await Transport.create());
return await hash_token.signTransaction(
"44'/505'/0'/0/0",
"<transaction contents>"
);
};
const getVersion = async () => {
const transport = await Transport.create();
const hash_token = new Provenance(await Transport.create());
return await hash_token.getVersion();
};
const doAll = async () => {
console.log(await getPublicKey());
console.log(await signTransaction());
console.log(await getVersion());
};
doAll().catch(err => console.log(err));
transport
Transport<any>
scrambleKey
string (optional, default"Provenance"
)
import Provenance from "hw-app-hash_token";
const hash_token = new Provenance(transport);
Get Provenance address for a given BIP-32 path.
path
string a path in BIP-32 format
const publicKey = await hash_token.getPublicKey("44'/505'/0'/0/0");
Returns Promise<string> an object with a public key.
Sign a transaction with a given BIP-32 path.
path
string a path in BIP-32 format
const publicKey = await hash_token.signTransaction(
"44'/505'/0'/0/0",
"<transaction contents>"
);
Returns Promise<object> an object with text field containing a signature.
Get the version of the application installed on the hardware device.
console.log(await hash_token.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.