JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 669
  • Score
    100M100P100Q118685F
  • License Apache-2.0

TS / Node API for Polkadot apps running on Ledger Nano S/S+/X and Stax

Package Exports

  • @zondax/ledger-polkadot
  • @zondax/ledger-polkadot/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@zondax/ledger-polkadot) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

ledger-polkadot (JS Integration)

zondax_light

License npm version

This package provides a basic client library to communicate with Polkadot App running in a Ledger Nano S/S+/X or Stax device.

Available commands

This package exports a PolkadotApp class that receives any Ledger Transport and has the following functions, that execute commands in the device. All of them are typed.

They return the following basic structure + any other stuff relevant in that specific command.

interface ResponseBase {
  errorMessage: string;
  returnCode: number;
}

Errors can be checked using the returnCode field. You should check if it's equal to ERROR_CODE.NoError.

import { ERROR_CODE } from "@zondax/ledger-polkadot";

// we got the result from any method of the class
if (result.returnCode !== ERROR_CODE.NoError) {
  // handle with care
}

The following commands are available:

  • appInfo: Get information from the device and application. This method is standard in all Ledger Apps.
  • getVersion: Get app version and targetId.
  • getAddress: Get address and pubkey. It takes the following arguments:
    • path: string: BIP44 path with length 5. Example: "m/44'/354'/0'/1/0.
      • Note: it needs to start with "m/44'/354', otherwise it'll be rejected.
    • ss58prefix: number: ss58 prefix to encode the address with
  • sign: Sign a transaction. It takes the following arguments:
    • path: string: BIP44 path with length 5. Example: "m/44'/354'/0'/1/0.
      • Note: it needs to start with "m/44'/354', otherwise it'll be rejected.
    • blob: Buffer: SCALE-encoded transaction.
    • metadata: Buffer: SCALE-encoded ShortMetadata according to spec.
  • signRaw: Sign arbitrary bytes (not a transaction). It gets the following arguments:
    • path: string: BIP44 path with length 5. Example: "m/44'/354'/0'/1/0.
      • Note: it needs to start with "m/44'/354', otherwise it'll be rejected.
    • blob: Buffer: Bytes to sign, prefixed by <Bytes> and suffixed by </Bytes>.

Who we are?

We are Zondax, a company pioneering blockchain services. If you want to know more about us, please visit us at zondax.ch