Documentation ¶
Overview ¶
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.
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 ¶
NewLedgerHub creates a new hardware wallet manager for Ledger devices.
func NewTrezorHub ¶
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.