Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate hardware wallet (Trezor) integration #1063

Closed
ManfredKarrer opened this issue Dec 4, 2017 · 13 comments
Closed

Investigate hardware wallet (Trezor) integration #1063

ManfredKarrer opened this issue Dec 4, 2017 · 13 comments

Comments

@ManfredKarrer
Copy link
Member

We would like to support hardware wallets but it has limitations because the trade requires automated transaction signing (in case a peer takes your offer) and that is not possible with hardware wallets.
But to connect Trezor (or other hardware wallets) and use them to swap the funds would be still a great feature to avoid risks for larger BTC amounts in the users Bisq wallet. That swapping would be a normal BTC transaction.

@r8d8
Copy link
Contributor

r8d8 commented Dec 5, 2017

I have experience with Ledger HD wallet - integrated support for them inside Emerald Vault. Nano S and Blue models share the same communication protocol. Can't say that Ledger has transparent manuals or any solid documentation.

@ManfredKarrer
Copy link
Member Author

We have been in contact with Jochen Hoenicke about Trezor integration (wanted to use it for the arbitrator but was too complicate for that user case - signing custom txs).
That task would require some UI work/concept as well. How to make it user friendly that user swap over their saving to the Hardware wallet. They need to understand that they cannot use that for trading directly then...

@mrosseel
Copy link
Member

mrosseel commented Dec 5, 2017

one of the issues with trezor integration were bugs in the (3rd party) trezor java library

@disinqa
Copy link

disinqa commented Jan 9, 2018

Maybe Trezor Connect API solves what you're looking for @ManfredKarrer

@antsykarbo
Copy link

Been thinking about this every time I transfer BTC between Bisq and Trezor. Some ideas for how to implement:
A. Fork, rename and refactor trezor/trezor-android to remove dependencies on Android
B. Implement Trezor communication as a standalone Java lib from scratch
C. Use trezor/connect, as suggested by @disinqa

A and B seem similar in the amount of effort, but I haven't done anything with USB devices from Java, so don't have a good feel for how much work that would be.

C would require the user to have the Trezor bridge installed, and the Bisq client to run an HTTP server and open a browser on user's computer every time user wanted to use Trezor to move funds. UX might be awkward, but this might be the fastest way forward because it doesn't require messing around with low-level USB stuff or an Android-dependent codebase.

Thoughts?

@blabno
Copy link

blabno commented Mar 23, 2018

@antsykarbo What exactly do you need Bisq HTTP for?
I'm already working on an API, so I would like to learn about any new requirements.

@antsykarbo
Copy link

antsykarbo commented Mar 23, 2018

@blabno in this case the HTTP server would serve an HTML page and a bunch of javascript on a local port so that the user could interact with Trezor Connect JS API in a browser. I presume this page would then have to call back to Bisq via an HTTP API of sorts to send the transaction signed by Trezor back to Bisq.

Apologies for a rushed description. Happy to write up the proposed approach if anyone else thinks that using a browser outside of Bisq for funding/withdrawal txs is a viable idea.

@stale
Copy link

stale bot commented Jan 17, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@peterzen
Copy link
Contributor

peterzen commented Mar 2, 2019

There is now a 3rd party Java library: https://github.com/gary-rowe/trezor-java

Rather work in progress and only has low level functionality but might be worth keeping an eye on. It is (will be?) built on top of BitcoinJ.

@mrosseel
Copy link
Member

mrosseel commented Mar 2, 2019 via email

@danimesq
Copy link

danimesq commented Oct 3, 2019

It should also support Ledger, KeepKey and status-keycard

@HausIndustries
Copy link

I have experience with HW integration and would personally also appreciate hardware wallets connected as I keep my coins/tokens split between my trezor and my software wallet to be ready for trading. It does seem like interest has fallen off but with hardware wallets like trezor zero at 40 bucks on amazon no one really has an excuse not to have one. I can def get trezor and likely ledger done pretty well, I have an old keepkey thats dead (idk what happened doesnt turn on anymore) and haven't used other wallets or their integration but really getting one done its just about as easy to get most if not all of them done. Would people be passionate enough about this to push for a BSQ bounty for it. I normally would just do it in my free time and not really care but I'm out of work (kinda in a funk but actually looking to move from my old job to the crypto space) and could really use the money if possible. If not, either way I could outline enough of it that it could be done either by me or someone else interested in helping.

@seanpk
Copy link

seanpk commented Dec 30, 2020

I am interested in seeing support for this added.
In lieu of software support, a howto guide for doing it manually as alluded to by @antsykarbo in this comment would be very valuable. i.e.:

Been thinking about this every time I transfer BTC between Bisq and Trezor.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests