Skip to content

Latest commit

 

History

History
108 lines (76 loc) · 2.56 KB

README.md

File metadata and controls

108 lines (76 loc) · 2.56 KB

LEDGER

hw-app-karlsen

Ledger Hardware Wallet Karlsen JavaScript bindings.

API

Table of Contents

Karlsen

Karlsen API

Parameters

  • transport Transport a transport for sending commands to a device

Examples

import Karlsen from "hw-app-karlsen";
const karlsen = new Karlsen(transport);

getPublicKey

Get Karlsen Public Key for a BIP32 path.

Parameters
  • path string a BIP32 path
  • display boolean flag to show display (optional, default false)
Examples
karlsen.getPublicKey("44'/121337'/0'")

Returns Promise <Buffer> the public key buffer with chain code.

signTransaction

Sign a Karlsen transaction.

Parameters
  • transaction Transaction from src/transaction.js
Examples
import Karlsen from 'hw-app-karlsen';
import { TransactionInput, TransactionOutput, Transaction } from 'hw-app-karlsen';

...

const karlsen = new Karlsen(transport);

const txin = new TransactionInput({
    prevTxId: "40b022362f1a303518e2b49f86f87a317c87b514ca0f3d08ad2e7cf49d08cc70",
    value: 1100000,
    addressType: 0,
    addressIndex: 0,
    outpointIndex: 0,
});

const txout = new TransactionOutput({
    value: 1000000,
    scriptPublicKey: "2011a7215f668e921013eb7aac9b7e64b9ec6e757c1b648e89388c919f676aa88cac",
});

// By convention, the second output MUST be the change address
// It MUST set both addressType and addressIndex
const txoutchange = new TransactionOutput({
    value: 90000,
    scriptPublicKey: "2011a7215f668e921013eb7aac9b7e64b9ec6e757c1b648e89388c919f676aa88cac",
});

const tx = new Transaction({
    version: 0,
    changeAddressType: 0,
    changeAddressIndex: 0,
    inputs: [txin],
    outputs: [txout, txoutchange],
});

karlsen.signTransaction(tx);

Updates the transaction by filling in the signature property of each TransactionInput in the Transaction object.