Skip to content

Ethers signer that derives address and signs transactions using Trezor device.

Notifications You must be signed in to change notification settings

nxqbao/eth-signer-trezor

Repository files navigation

@nxqbao/eth-signer-trezor

npm (tag) CI Build


ethers signer that derives address and signs transactions using Trezor device.

Install

yarn add @nxqbao/eth-signer-trezor

Usage

const hardwareWalletModule = require('@nxqbao/eth-signer-trezor')
const providers = require('ethers').providers

const TrezorSigner = hardwareWalletModule.TrezorSigner
const provider = new providers.JsonRpcProvider(providerUrl)
const derivationPath = `m/44'/60'/0'/0` // This follows BIP-44 wallet, without <index> in derivation path

/**
 * Specifying account by either index in account or by address, NOT both
 *
 * const index = 0;
 * const address = undefined;
 **/
const index = undefined
const address = '0xcB6a85e9Ff428d0cD7c6F3D7A03Aa5F6DF771525'
const sessionName = 'trezor user'

const ethersSigner = new TrezorSigner(
  provider,
  derivationPath,
  index,
  address,
  sessionName
)

Implementation

The TrezorSigner class in trezor-signer.ts satisfies following:

  • extends ethers.signer
  • loads and interacts with Trezor Connect
  • fetches public key by derivation path from Trezor and derives available addresses in the device

About

Ethers signer that derives address and signs transactions using Trezor device.

Resources

Stars

Watchers

Forks

Packages

No packages published