ethereum / web3.py

A python interface for interacting with the Ethereum blockchain and ecosystem.
http://web3py.readthedocs.io
MIT License
4.89k stars 1.67k forks source link

Support for Ledger hardware wallets #847

Open pipermerriam opened 6 years ago

pipermerriam commented 6 years ago

What was wrong?

Hardware wallets are generally considered the gold standard for private key security. Supporting them in web3.py would allow users to take advantage of that security.

How can it be fixed?

Figure out how to do signing with a ledger hardware wallet.

https://github.com/LedgerHQ/blue-loader-python

This repository from the Ledger github is probably a good starting point.

Definition of Done

voith commented 6 years ago

Integration test suite which can be run with a connected ledger device.

Curious to Know how the device would be configured with CI to run integration tests.

pipermerriam commented 6 years ago

These tests likely wouldn't be run in CI. They'd be something we'd run manually in a local environment.

voith commented 6 years ago

registering this issue for myself. I've spoken to @miohtama over chat about this!

pipermerriam commented 6 years ago

@voith assuming that you have a ledger to test against?

voith commented 6 years ago

May be a little early to say but most likely I will get sponsored to get this feature out. To answer your question I don't own one at the moment, but if everything goes as planned I should have one by the end of this week.

carver commented 6 years ago

Any code for this issue should probably end up in https://github.com/ethereum/eth-account

petri commented 6 years ago

Something that could perhaps be worth taking a look at: https://github.com/bargst/pyethoff

bargst commented 6 years ago

I extracted relevant part of my repo into https://gist.github.com/bargst/5f896e4a5984593d43f1b4eb66f79d68 I could try to turn it into eth-account code but I may need guidance !

pipermerriam commented 6 years ago

Made an issue for this in eth-account: https://github.com/ethereum/eth-account/issues/25

pipermerriam commented 6 years ago

@bargst you appear to be on the right track. I'd take a look at the linked issue for hardware wallets: https://github.com/ethereum/eth-account/issues/25 and what may potentially be a dependency on that https://github.com/ethereum/eth-account/issues/24