@coinflect/hw-app-coinflect
v1.0.1
Published
Ledger Hardware Wallet Coinflect API
Downloads
11
Maintainers
Readme
@coinflect/hw-app-coinflect
Ledger Hardware Wallet JavaScript bindings for Coinflect, based on LedgerJS.
Using LedgerJS for Coinflect
Here is a sample app for Node:
const Transport = require("@ledgerhq/hw-transport-node-hid").default;
const Coinflect = require("@coinflect/hw-app-coinflect").default;
const getWalletId = async () => {
const coinflect = new Coinflect(await Transport.create());
return await coinflect.getWalletId();
};
const signHash = async () => {
const transport = await Transport.create();
const coinflect = new Coinflect(await Transport.create());
return await coinflect.signHash(
"44'/9000'/0'/0/0",
"0000000000000000000000000000000000000000000000000000000000000000"
);
};
const getVersion = async () => {
const coinflect = new Coinflect(await Transport.create());
return await coinflect.getAppConfiguration();
};
const getAddress = async () => {
const coinflect = new Coinflect(await Transport.create());
return await coinflect.getWalletPublicKey("44'/9000'/0'/1/0");
};
const doAll = async () => {
console.log(await getWalletId());
console.log(await getVersion());
console.log(await getAddress());
console.log(await signHash());
};
doAll().catch((err) => console.log(err));
API
Table of Contents
Coinflect
Coinflect API for Ledger
Parameters
transport
Transport<any>
scrambleKey
string (optional, default"Coinflect"
)
Examples
import Coinflect from "@coinflect/hw-app-coinflect";
const coinflect = new Coinflect(transport);
getWalletPublicKey
Get Coinflect address for a given BIP-32 path.
Parameters
path
string a path in BIP-32 format
Examples
const publicKey = await coinflect.getWalletPublicKey("44'/9000'/0'/0/0");
Returns Promise<string> an object with a public key.
signHash
Sign a 32-byte hash of transaction with a given BIP-32 path
Parameters
Examples
const signature = await coinflect.signHash(
"44'/9000'/0'/0/0",
"0000000000000000000000000000000000000000000000000000000000000000"
);
Returns Promise<string> a signature as hex string.
getAppConfiguration
Get the version of the application installed on the hardware device.
Examples
console.log(await coinflect.getAppConfiguration());
produces something like
{
"version": "1.0.3",
"commit": "1234567",
"name": "Avax"
}
Returns Promise<{version: string, commit: string, name: string}> an object with a version.
getWalletId
Get the wallet identifier for the Ledger wallet. This value distinguishes different Ledger hardware devices which have different seeds.
Examples
console.log(await coinflect.getWalletId());
produces something like
abcdefgh