usbwallet

package
v0.0.0-...-ac8b7ce Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 27, 2021 License: GPL-3.0 Imports: 21 Imported by: 0

Documentation

Overview

Package usbwallet implements support for USB hardware wallets.

Index

Constants

View Source
const LedgerScheme = "ledger"

LedgerScheme is the protocol scheme prefixing account and wallet URLs.

View Source
const TrezorScheme = "trezor"

TrezorScheme is the protocol scheme prefixing account and wallet URLs.

Variables

View Source
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.

Functions

This section is empty.

Types

type Hub

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

todo Hub结构体实现了Backend接口,是usbwallet类型的钱包的后端实现.

Hub结构体代表了这种类型的后端钱包,它主要由函数 NewLedgerHub() 或 NewTrezorHub() 创建,根据不同的driver,它可以代表不同的硬件钱包.

这也是 makeDriver 字段想要表达的意思. 在ledger.go和trezor.go中,有各自的driver实现,它们使用不同的协议,todo 通过 device.Write() 和 io.ReadAll() 对设备进行读写以实现通信

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 NewTrezorHub

func NewTrezorHub() (*Hub, error)

NewTrezorHub creates a new hardware wallet manager for Trezor devices.

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.

Directories

Path Synopsis
internal
trezor
Package trezor contains the wire protocol wrapper in Go.
Package trezor contains the wire protocol wrapper in Go.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL