Architecture Dataflow
Dataflow Overview
During a transaction handled by Ledger Device several exchanges are done between different application & hardware components. These exchanges allow to read data from Ledger Device & Sign Transactions with internal private key without sharing it.
Fig. 1: Application Sequence Diagram
This diagram demonstrate the sequence of different calls done by each application layer during a transaction. 5 different layers are used to handle a transaction:
- Your Application Core Code: your software wallet
- Ledger JS Transport API: packages that allow you to implement several kind communication between the software wallet and a Ledger hardware wallet
- Ledger JS Dedicated App Lib: packages that allow you to communicate with specific Ledger Embedded Apps
- Embedded App: the application that run on a Ledger hardware wallet to interact with a specific blockchain
- Ledger Device Software: the operating system of Ledger harware devices
This workflow demonstrate a typical use case of Ledger Device using an Embedded App Lib. If you are planning to integrate with a embedded app with no API, you have to complete all actions done by LedgerJS Dedicated App Lib within your application core code.