MetaMask / metamask-extension

:globe_with_meridians: :electric_plug: The MetaMask browser extension enables browsing Ethereum blockchain enabled websites
https://metamask.io
Other
11.99k stars 4.91k forks source link

[TASK] Provide Ledger HW-Wallet Support #4060

Closed ghost closed 6 years ago

ghost commented 6 years ago

Continuation of #3427 and #3631 Note: this issue has an edit-history


Prerequisites

Should be done before providing Ledger (or any other hw-wallet) Support :

See: https://github.com/lazaridiscom/mm-vault

4201 - provide metadata

4202 - provide (metadata-based) generic ui

Solution Paths

one(!) of the following (prioritized, most favorable first) :

mm-ledger-gateway

Directly in Chrome

hw-transport-cem

4469 - Implement Ledger hw-transport-cem

ledger-live-desktop

https://github.com/LedgerHQ/ledger-live-desktop (as suggested here: https://github.com/MetaMask/metamask-extension/issues/4204#issuecomment-393125385)

Not the most elegant way, but still, a decent path (if other paths fail)

mm-ledger-connect

Implementation similar to Trezor-Connect:

(verify GPL / MIT license compliance, possibly the whole module must go from MIT to GPL)

ledger-wallet-api

https://github.com/LedgerHQ/ledger-wallet-api

Avoid (legacy), despite this seems the fastest way to achieve a result.

Use this api to interface to the Ledger Eth Chrome App.

More Possible Solutions

from https://github.com/MetaMask/metamask-extension/issues/4204#issuecomment-392319947

(provided here mostly for the sake of completeness)

Issues with Ledger

Deadline

30th June 2018

jamespic commented 6 years ago

It looks like the Chromium devs would be more open to making WebUSB available to extensions than U2F. Looking at the discussion on https://bugs.chromium.org/p/chromium/issues/detail?id=770896, the issue for adding WebUSB support, it looks like they'd like to add it, but there's some dev work to do.

I imagine they'd be more open to a pull request implementing it, that they would be for U2F.

ghost commented 6 years ago

This sounds good! I've updated #4205 and moved it here in the list to the top

ghost commented 6 years ago

5050 has implemented ledger-support via solution-path #4593 (mm-ledger-gateway)