JSPM

basil-tezos-ledger

0.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • 0
  • Score
    100M100P100Q27152F
  • License Apache-2.0

For short term development purposes only

Package Exports

  • basil-tezos-ledger

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 (basil-tezos-ledger) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@ledgerhq/hw-app-xtz

Library for Ledger Hardware Wallets.

Github, API Doc, Ledger Devs Slack

Using LedgerJS for XTZ

Here is a sample app for Node:

let Transport = require("@ledgerhq/hw-transport-node-hid").default;
let App = require("@ledgerhq/hw-app-xtz").default;

const getAddress = async () => {
  const transport = await Transport.create();
  const xtz = new App(transport);
  const result = await xtz.getAddress("44'/1729'/0'/0'", true);
  return result.publicKey;
};

const signOperation = async () => {
  const transport = await Transport.create();
  const xtz = new App(transport);
  const result = await xtz.signOperation("44'/1729'/0'/0'", "0342397c7a82e1f7509513642e573020aeb0aea36ac087139085e42d480cd08520070000d2e495a7ab40156d0a7c35b73d2530a3470fc8700002000000cda3081bd81219ec494b29068dcfd19e427fed9a66abcdc9e9e99ca6478f60e9080000d2e495a7ab40156d0a7c35b73d2530a3470fc870d0860303c80100c0ba99060000e7670f32038107a59a2b9cfefae36ea21f5aa63c00");
  return result.signature;
};

const getVersion = async () => {
  const transport = await Transport.create();
  const xtz = new App(transport);
  const versionInfo = await xtz.getVersion();
  return versionInfo;
};

const doAll = async () => {
    version = await getVersion();
    console.log(version);
    address = await getAddress();
    console.log(address);
    signature = await signOperation();
    console.log(signature);
};

doAll().catch(err => console.log(err));

To get this to work with a dev checkout of the LedgerJS repo, make sure that you have appropriate dependencies in your package.json, either by using yarn add file:.../path or yarn link. Make sure that you yarn install and yarn build the LedgerJS packages, as yarn build will be necessary to translate the Javascript into a form acceptable by Node.

If you want to use web instead, replace hw-transport-node-hid with hw-transport-u2f and run npx webpack.