This repository contains the Go client library for interacting with Lux apps on Ledger hardware wallets.
This is a Go-first repository with the following structure:
- Top level: Go client library (
github.com/luxfi/ledger
) /rust/
: Rust implementation and Ledger app source/go-docs/
: Additional Go documentation
go get github.com/luxfi/ledger
import "github.com/luxfi/ledger"
// Example usage
app, err := ledger.FindLedgerLuxUserApp()
if err != nil {
log.Fatal(err)
}
defer app.Close()
version, err := app.GetVersion()
if err != nil {
log.Fatal(err)
}
fmt.Printf("App Version: %s\n", version)
- BIP32/BIP44 key derivation
- P2PKH address generation
- Transaction signing
- Message signing
- Multi-signature support
Tests require a physical Ledger device with the Lux app installed:
go test ./...
The Ledger app source code is located in the /rust/
directory. See /rust/README.md
for build instructions.
The Go client library is at the repository root. Standard Go development practices apply:
go mod tidy
go test ./...
go build ./...
Apache 2.0 - See LICENSE file for details.