cosmjs-util/packages/launchpad-ledger
2020-09-30 14:50:59 +02:00
..
custom_types launchpad-ledger: Add basic type declaration for ledger-cosmos-js 2020-09-15 10:47:01 +02:00
demo Let OfflineSigner.sign take a StdSignDoc instead of an encoded message 2020-09-24 13:54:13 +02:00
nonces Add nonces 2020-09-24 17:58:42 +02:00
src Remove LEDGER_INTERACTIVE_ENABLED 2020-09-30 14:50:59 +02:00
types Support running multiple tests in one process 2020-09-30 14:36:33 +02:00
.eslintignore launchpad-ledger: Add basic package setup 2020-09-15 10:46:57 +02:00
.gitignore launchpad-ledger: Add basic package setup 2020-09-15 10:46:57 +02:00
jasmine-testrunner.js Add initial Ledger tests 2020-09-30 14:36:33 +02:00
package.json Add initial Ledger tests 2020-09-30 14:36:33 +02:00
README.md Remove LEDGER_INTERACTIVE_ENABLED 2020-09-30 14:50:59 +02:00
tsconfig.json launchpad-ledger: Add basic type declaration for ledger-cosmos-js 2020-09-15 10:47:01 +02:00
typedoc.js launchpad-ledger: Tidy auxiliary files 2020-09-15 15:03:16 +02:00
webpack.demo.config.js launchpad-ledger: Add Node.js demo 2020-09-17 15:16:43 +02:00

@cosmjs/launchpad-ledger

npm version

Supported platforms

This library works with Node.js as well as certain browsers. We use the @ledgerhq/hw-transport-webusb library to connect to Ledger devices from the browser via USB. You can check the support status of this library here.

Note the optional dependencies:

"optionalDependencies": {
  "@ledgerhq/hw-transport-node-hid": "^5.23.2",
  "@ledgerhq/hw-transport-webusb": "^5.23.0"
}

If you are using this library with Node.js you must install @ledgerhq/hw-transport-node-hid. Youll need @ledgerhq/hw-transport-webusb for the browser.

Running the demo

Node.js

Connect the Ledger device via USB, open the Cosmos app, then run the demo (this will also build the package):

yarn demo-node

Browser

Build the package for web:

yarn pack-web

Host the launchpad-ledger package directory, for example using Python 3:

python3 -m http.server

Visit the demo page in a browser, for example if using the Python 3 option: http://localhost:8000/demo.

Then follow the instructions on that page.

Runnng tests

The tests in this package require a Ledger device initialized with the mnemonic from scripts/wasmd/README.md#preset-accounts (see "Ledger: accounts for Ledger based demos and tests") with an installed "Cosmos (ATOM)" app. The device must be connected via USB, unlocked and the Cosmos app must be opened. The tests require the user to manually approve transactions. Start a local wasmd blockchain as described in scripts/wasmd/README.md and execute:

export LEDGER_ENABLED=1
export WASMD_ENABLED=1
yarn test

License

This package is part of the cosmjs repository, licensed under the Apache License 2.0 (see NOTICE and LICENSE).