-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Trezor hardware wallet support #4500
Comments
#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 ;) |
Has Ethereum foundation run out of all its money or why they can't donate some to the Parity project? |
@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. |
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). |
Thanks @prusnak, AFAIK we have already made plans to order a Trezor, we just haven't gotten it yet. |
@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 :( |
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. |
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. |
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. |
Which visual pattern? Do you mean PIN entry? |
@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. |
TREZORv2 will have on-device PIN entry. If there is anything I can do to help you integrate TREZORv1, tell me ... |
@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 |
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 |
FYI: Trezor support has been merged to geth: ethereum/go-ethereum#14885 |
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 |
@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. |
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) |
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
The text was updated successfully, but these errors were encountered: