Skip to content
This repository has been archived by the owner on Nov 6, 2020. It is now read-only.

Trezor hardware wallet support #4500

Closed
mcgravier opened this issue Feb 9, 2017 · 19 comments
Closed

Trezor hardware wallet support #4500

mcgravier opened this issue Feb 9, 2017 · 19 comments
Assignees
Labels
F8-enhancement 🎊 An additional feature request. M4-core ⛓ Core client code / Rust. P5-sometimesoon 🌲 Issue is worth doing soon.
Milestone

Comments

@mcgravier
Copy link

mcgravier commented Feb 9, 2017

While quite popular in cryptocurrency community, the only service that supports Trezor for Ethereum at the time is Myetherwallet - it would be far better to have direct implementation in Parity

@arkpar arkpar added F8-enhancement 🎊 An additional feature request. P5-sometimesoon 🌲 Issue is worth doing soon. labels Feb 9, 2017
@rphmeier
Copy link
Contributor

rphmeier commented Feb 9, 2017

#4486 lays the foundation for other HW wallets, probably will come decently soon afterwards. The main blocker is just that we haven't got a Trezor wallet to test with. Feel free to donate one if you'd like ;)

@3esmit
Copy link

3esmit commented Feb 9, 2017

@prusnak @slush0 could donate a Trezor wallet to Parity team, and even collaborate in the development.

@prusnak
Copy link

prusnak commented Feb 9, 2017

Has Ethereum foundation run out of all its money or why they can't donate some to the Parity project?

@rphmeier
Copy link
Contributor

rphmeier commented Feb 9, 2017

@prusnak Not too familiar with the foundation's financial situation; they might be able to answer that better. The donation bit wasn't meant to be interpreted literally, just a little tongue-in-cheek comment.

@prusnak
Copy link

prusnak commented Feb 9, 2017

If there is no other way I have no problem with donating a dev unit, hit me with an email to stick@satoshilabs.com (include address of a core dev).

@rphmeier
Copy link
Contributor

rphmeier commented Feb 9, 2017

Thanks @prusnak, AFAIK we have already made plans to order a Trezor, we just haven't gotten it yet.

@mcgravier
Copy link
Author

@prusnak I understand the frustration - There was commitment from multiple parties to integrate it, yet noone did since firmware support has been released (6 months ago). AFAIK you had to do integration for MyEtherwallet by yourself which is just sad.

Since I'm not software developer, all I can do is submitting issues at relevant github repos :(

@gavofyork
Copy link
Contributor

Has Ethereum foundation run out of all its money

fyi Parity Technologies (fka Ethcore) has no connection whatsoever with Ethereum Foundation. We have never received any aid of any kind from them. We have no relationship with them, professional or otherwise.

@gavofyork gavofyork added the M4-core ⛓ Core client code / Rust. label Feb 10, 2017
@5chdn
Copy link
Contributor

5chdn commented May 10, 2017

This issue is labelled with sometimesoon: Issue is worth doing soon. But it's inactive for several months and neither assigned nor linked to a milestone.

Do we have a Trezor yet? It probably needs a re-prioritization, or a proper deadline and an assignee.

@rphmeier
Copy link
Contributor

We have a Trezor, but this will have to be done UI-side as opposed to node-side since Trezor requires showing a visual pattern to the user.

@prusnak
Copy link

prusnak commented Jun 27, 2017

Which visual pattern? Do you mean PIN entry?

@arkpar
Copy link
Collaborator

arkpar commented Jun 27, 2017

@prusnak Exactly. Parity is architectured to have a core that provides an RPC API to the UI, but can also run as a service or CLI app. Adding support for Ledger devices into the core was straightforward as it has on-device PIN entry. Trezor wallet however requires interactive PIN entry so we can't just wrap it into our API and expose it as another type of account as we did with Ledger.

@prusnak
Copy link

prusnak commented Jun 27, 2017

TREZORv2 will have on-device PIN entry.

If there is anything I can do to help you integrate TREZORv1, tell me ...

@folsen folsen self-assigned this Aug 15, 2017
@folsen
Copy link
Contributor

folsen commented Aug 15, 2017

@prusnak Is there any more detailed documentation than the protobufs on what wire-protocol is followed. AFAICT it's not using APDU like the Ledger, judging from what I can see on the Python and Java implementations. For instance, looking at this: https://github.com/trezor/trezor-android/blob/master/trezor-lib/src/main/java/com/satoshilabs/trezor/lib/TrezorManager.java#L250-L261
Where does all the magic numbers (and chars) come from?

@prusnak
Copy link

prusnak commented Aug 15, 2017

This is our own protocol. Documented here: https://github.com/trezor/trezor-common/blob/master/protob/protocol.md

To see the protobuf definitions look here: https://github.com/trezor/trezor-common/blob/master/protob/messages.proto

@csillag
Copy link

csillag commented Aug 22, 2017

FYI: Trezor support has been merged to geth: ethereum/go-ethereum#14885

@folsen folsen mentioned this issue Aug 28, 2017
@5chdn 5chdn added this to the 1.9 milestone Oct 5, 2017
@mcgravier
Copy link
Author

Small suggestion - Myetherwallet is supporting Trezor with derivation path m/44'/60'/0'/0 - Using this path will make switching between MEW and Parity more intuitive/user frendly.

Another argument for using this path is that Jaxx, Metamask and few other wallets are using it as well - that would simplify wallet restoration from seed in case Trezor is lost or damaged

@folsen
Copy link
Contributor

folsen commented Oct 11, 2017

@mcgravier this is the path that is supported in the current implementation, but we want to add the functionality to let the user switch to whatever path they want.

@prusnak
Copy link

prusnak commented Oct 11, 2017

I am not against the user switch, but it has to be well hidden and not shown by default, because otherwise people will choose incompatible paths (like they happily do in MEW atm)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
F8-enhancement 🎊 An additional feature request. M4-core ⛓ Core client code / Rust. P5-sometimesoon 🌲 Issue is worth doing soon.
Projects
None yet
Development

No branches or pull requests

9 participants