🚀 DAY 5 OF LAUNCH WEEK:Introducing Webhook Events for Alert Changes.Learn more →
Socket
Book a DemoInstallSign in
Socket

@ethers-ext/signer-ledger

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ethers-ext/signer-ledger

Ethers Signer for Ledger Hardware Wallet.

latest
Source
npmnpm
Version
6.0.0-beta.1
Version published
Maintainers
1
Created
Source

Ethers: LedgerSigner

A LedgerSigner connects to a Ledger Hardware Wallet over some transport, and allows all normal Signer operations protected by the hardware wallet.

Installing

When you use the LedgerSigner, you must also include the intended transport, which provides a generic interface for the communication channel to the Ledger Hardware Device.

Below are examples and notes on installing the necessary transports:

# Install the extension pacakge
/home/ricmoo> npm install @ethers-ext/signer-ledger

# Depending on your environment, install any of the
# relevant Transport(s) below:

# For use of a USB-based device in node
# - You must include "dom" in your TypeScript libs
# - On MacOD, only the current user may access the USB
/home/ricmoo> npm install @ledgerhq/hw-transport-node-hid

# For use of a BLE-based device in node
/home/ricmoo> npm install @ledgerhq/hw-transport-node-ble

# For use of USB-based device in a browser using the WebUSB API
/home/ricmoo> npm install @ledgerhq/hw-transport-webusb

# For use of USB-based device in a browser using the WebHID API
/home/ricmoo> npm install @ledgerhq/hw-transport-webhid

# For use of BLE-based device in a browser using the Web Bluetooth API
/home/ricmoo> npm install @ledgerhq/hw-transport-web-ble

# For testing purposes, a virtual device for mocking
/home/ricmoo> npm install @ledgerhq/hw-transport-mocker

Usage

new LedgerSigner(transport, provider?, path?) => Signer

Create a new LedgerSigner connected to a Ledger Hardware Wallet via transport and optionally connected to the blockchain using provider. The default path is the path for Account #0, otherwise the logic for the LedgerSigner.getPath is used.

import { LedgerSigner } from "@ethers-ext/signer-ledger";

// Import your relevant transport; see the above "Installing"
// section for the package name; for example, we'll use node-hid
import HIDTransport from "@ledgerhq/hw-transport-node-hid";

const signer = new LedgerSigner(HIDTransport, provider);

signer.getSigner(pathOrAccount?) => LedgerSigner

Returns a new Signer with the same transport and provider, but with using the pathOrAccount.

LedgerSigner.getPath(pathOrAccount?) => string

Returns the HD path for pathOrAccount. If none is provided, the default path (account #0) is returned, if a number is provided, the HD path for that account is returned, otherwise a valid HD path is expected (starting with m/).

Notes

  • Some platforms, such as MetaMask use a different derivation path for accounts. For those, you can use the Ethers getIndexedAccount function.

License

MIT License.

Keywords

ethers

FAQs

Package last updated on 26 Jul 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts