phoenix icon indicating copy to clipboard operation
phoenix copied to clipboard

Implement HW Ledger Support - Abstractions

Open ohager opened this issue 5 years ago • 3 comments

Is your feature request related to a problem? Please describe. On sending messages, burst, aliases, etc. the signing through the [HW Ledger] (https://www.ledger.com/), seems to be an interesting option for final users. In terms of security this might even raise the wallets reputation.

Describe the solution you'd like There must be a kind of abstraction layer that permits signing the conventional way (burstjs), or using ledger.

Describe alternatives you've considered Several abstraction options are available:

  • one interface (of a service, i.e. transaction, account) with internally different implementations
  • one service, different methods
  • different services

In a first step, it's sufficient to define an abstraction layer and modify the code accordingly, such that ledger implementations could be done afterwards

ohager avatar Jun 23 '19 22:06 ohager

Ledger communication:

(All values here are hex encoded, for actual communication you need to use raw bytes)

Sending 080400xx00 -> Public key is returned. xx is the index of the account (look at address_index in BIP41).

Sending 0802xxyyzz followed by up to 255 bytes of data: Input data to the ledger. yy is the index of the account. zz is the data length. This step may need to be called multiple times if the data length is > 255. For xx he last call should use 80 whereas calls that are not the final call should use 00. This call will return 4b.

harryjph avatar Jun 23 '19 23:06 harryjph

Ledger HW support for BURST will be one of the biggest achievement of the year when delivered !!! Keep up the great work

radogerek avatar Oct 24 '19 10:10 radogerek

Not sure, if this is feasible anymore... need to see with @jjos2372

ohager avatar Aug 10 '21 11:08 ohager