Add Ledger hardware wallet keychain implementation #182
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why this should be merged
This PR adds Ledger hardware wallet integration to the SDK, enabling users to perform secure transaction signing using their Ledger devices for Avalanche transactions. Ledger hardware wallets are widely-used secure key storage devices that provide enterprise-grade key management for blockchain operations by keeping private keys isolated in hardware.
This implementation allows users to:
How this works
The PR adds a new
keychain/ledger
package that implements bothkeychain.Keychain
andc.EthKeychain
interfaces:ledger_device.go
- Device implementation that communicates with Ledger hardware via the Avalanche Ledger appledger_keychain.go
- Core keychain implementation that manages address derivation and provides signing capabilities for Avalanche addressesThe implementation includes:
examples/validate-ledger-txs.go
- Comprehensive example demonstrating subnet creation, blockchain creation, validator addition, P→C and C→P cross-chain transfers, and C-Chain EVM operationsHow this was tested
Need to be documented in RELEASES.md?