Project

General

Profile

Feature #10964

Include TREZOR support (Bitcoin hardware wallet)

Added by stick almost 2 years ago. Updated 12 months ago.

Status:
Resolved
Priority:
Low
Assignee:
Category:
Hardware support
Target version:
Start date:
01/17/2016
Due date:
% Done:

50%

QA Check:
Info Needed
Feature Branch:
Type of work:
Code
Blueprint:
Easy:
Affected tool:

Description

Tails already includes Electrum bitcoin client which supports TREZOR bitcoin hardware wallet (bitcointrezor.com). In order to complete the support we need to do the following changes:

1) add package python-trezor (from testing or unstable)
2) add the following udev rule to system: https://github.com/trezor/trezor-common/blob/master/udev/51-trezor.rules

Associated revisions

Revision 39648213 (diff)
Added by intrigeri 12 months ago

Add support for the TREZOR hardware wallet in Electrum (refs: #10964).

History

#1 Updated by stick almost 2 years ago

Also this needs python-mnemonic and python-protobuf which might or might not already be included in the distro.

#2 Updated by intrigeri almost 2 years ago

  • Target version deleted (Tails_2.0)

(@frontdesk: please triage this. I'm merely removing it from the 2.0 dashboard, since we've feature-frozen 2.0 a month ago.)

#3 Updated by stick almost 2 years ago

Full package tree that needs to be imported from testing/unstable:

  • python-trezor
    • python-hid
    • python-mnemonic

#4 Updated by stick almost 2 years ago

I just learned that the mentioned udev rule is already a part of python-trezor-0.6.10-1 package in testing (see https://packages.debian.org/stretch/all/python-trezor/filelist), so please ignore change #2.

#5 Updated by mercedes508 almost 2 years ago

Could you please explain deeper why it should be included in Tails?

#6 Updated by stick almost 2 years ago

There are literally thousands of people using TREZOR all around the world and they are looking for an option how to use it anonymously. We tell them to use Electrum and setup Tor. This is quite hard to do for a common user and Tails makes this task so much easier. Electrum is already a part of Tails, but requires a permanent storage to hold your bitcoins. Advantage of using Electrum with TREZOR is that you don't need this, as keys are stored on a separate device and Electrum can easily recreate the whole wallet from scratch every time. I think adding support for this makes sense for TREZOR users which is a big group, that's why I suggested it.

#7 Updated by intrigeri almost 2 years ago

  • Status changed from New to Confirmed
  • Priority changed from Normal to Low

I personally don't think it is worth maintaining a delta with Debian for this => next step to add this feature is to have the needed bits (udev rules and anything else that's missing) into Debian.

Meanwhile, an option would be to move all Tails-specific udev rules from /etc/udev/rules.d/ to /lib/udev/rules.d, so that users can make /etc/udev/rules.d/ persistent and drop whatever they want in there. Patches going this way would be considered :)

#8 Updated by stick almost 2 years ago

You have not read the issue thoroughly. Everything is properly packaged in Debian testing (including udev-rules). All needs to be done is add python-trezor/testing, python-hid/testing and python-mnemonic/testing to the default selection of packages.

#9 Updated by intrigeri almost 2 years ago

  • Type of work changed from Debian to Code

OK, sorry I missed that comment (too bad the ticket's description is still stating wrong facts). I wonder if we should include these packages, or simply document that one can easily use the Additional Software Packages feature to install them. As a first iteration, I'd rather see the latter happen for the Tails 2.x (Jessie) series: I'm worried that we include these 3 packages now, and then in 6 months they can't be installed as-is on Jessie and then we have to maintain backports, which would make this bonus feature much more costly to maintain than I would like. And for Tails 3.x (Stretch) we can include these 3 packages directly into Tails. Thoughts?

#10 Updated by intrigeri almost 2 years ago

  • Type of work changed from Code to Discuss

#11 Updated by intrigeri over 1 year ago

  • Estimated time deleted (1.00 h)
  • Type of work changed from Discuss to Code

#12 Updated by stick 12 months ago

With Tails 3.0 Alpha in circulation this issue is again relevant.

#13 Updated by stick 12 months ago

I think the only change needed is the following:

--- a/config/chroot_local-packageslists/tails-common.list
+++ b/config/chroot_local-packageslists/tails-common.list
@@ -405,5 +405,8 @@ openjdk-7-jre
 # Enable Electrum's Qt GUI
 python-qt4

+# Enable TREZOR Hardware Wallet for Electrum
+python-trezor
+
 # Provide gnome-open (used to open e.g. URLs in KeePassX, Icedove, Electrum...)
 libgnome2-bin

#14 Updated by intrigeri 12 months ago

  • Status changed from Confirmed to In Progress
  • Assignee set to stick
  • Target version set to Tails_3.0
  • % Done changed from 0 to 50
  • QA Check set to Info Needed

The next successful Stretch-based build will include it: https://nightly.tails.boum.org/build_Tails_ISO_feature-stretch/lastSuccessful/archive/build-artifacts/. Please test and report back here.

#15 Updated by stick 12 months ago

I confirm that TREZOR integration works as expected in

tails-amd64-feature_stretch-3.0-20161204T0934Z-207de7f.iso

Thanks! I think we can close the issue.

#16 Updated by intrigeri 12 months ago

  • Status changed from In Progress to Resolved

Also available in: Atom PDF