@coinflect/hw-app-coinflect
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

Github, Ledger Devs Slack

@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
  • path string a path in BIP-32 format
  • hash string hash of a to sign
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

Returns Promise<string> a byte string.

Package Sidebar

Install

npm i @coinflect/hw-app-coinflect

Weekly Downloads

1

Version

1.0.1

License

MIT

Unpacked Size

50.5 kB

Total Files

11

Last publish

Collaborators

  • ybybybybyb