package usbwallet

import "github.com/ethereum/go-ethereum/accounts/usbwallet"

Package usbwallet implements support for USB hardware wallets.

Index

Constants

const LedgerScheme = "ledger"

LedgerScheme is the protocol scheme prefixing account and wallet URLs.

const TrezorScheme = "trezor"

TrezorScheme is the protocol scheme prefixing account and wallet URLs.

Variables

var ErrTrezorPINNeeded = errors.New("trezor: pin needed")

ErrTrezorPINNeeded is returned if opening the trezor requires a PIN code. In this case, the calling application should display a pinpad and send back the encoded passphrase.

var ErrTrezorPassphraseNeeded = errors.New("trezor: passphrase needed")

ErrTrezorPassphraseNeeded is returned if opening the trezor requires a passphrase

Types

type Hub

type Hub struct {
	// contains filtered or unexported fields
}

Hub is a accounts.Backend that can find and handle generic USB hardware wallets.

func NewLedgerHub

func NewLedgerHub() (*Hub, error)

NewLedgerHub creates a new hardware wallet manager for Ledger devices.

func NewTrezorHubWithHID

func NewTrezorHubWithHID() (*Hub, error)

NewTrezorHubWithHID creates a new hardware wallet manager for Trezor devices.

func NewTrezorHubWithWebUSB

func NewTrezorHubWithWebUSB() (*Hub, error)

NewTrezorHubWithWebUSB creates a new hardware wallet manager for Trezor devices with firmware version > 1.8.0

func (*Hub) Subscribe

func (hub *Hub) Subscribe(sink chan<- accounts.WalletEvent) event.Subscription

Subscribe implements accounts.Backend, creating an async subscription to receive notifications on the addition or removal of USB wallets.

func (*Hub) Wallets

func (hub *Hub) Wallets() []accounts.Wallet

Wallets implements accounts.Backend, returning all the currently tracked USB devices that appear to be hardware wallets.

Source Files

hub.go ledger.go trezor.go wallet.go

Directories

PathSynopsis
accounts/usbwallet/trezorPackage trezor contains the wire protocol.
Version
v1.16.1 (latest)
Published
Jul 2, 2025
Platform
linux/amd64
Imports
24 packages
Last checked
5 days ago

Tools for package owners.