Communication library between Rust and Ledger Nano S/X devices
To develop an app interface it's recommended to depend on ledger-transport
and make the API generic over the an Exchange
(trait).
An example can be found in ledger-zondax-hid
tests (provided by ledger-zondax-generic
) where get_device_info
is independent of the transport used.
To use an app interface, so when communicating with a ledger device (or emulator) the transports available are:
* ledger-zondax-hid
* ledger-zondax-zemu
* ledger-zondax-wasm
Each transport has its usecase, but most importantly the wasm transport wraps a JS transport (like @ledgerhq/hw-transport-node-hid) so it can be used from within rust.
An example is usage with wasm can be found in the examples, where a transport from JS is used and a function (device_info
) is exposed to be called from js.