Electrum 2.0 & Trezor — компиляция на Ubuntu

На данный момент, девайс Trezor работает только через сайт. Но есть бета версия программы Electrum 2.0, которая уже работает с Трезором. Но чтобы её поставить — её надо откомпилировать. Здесь я опишу механизм полный компиляции не только Electrum 2.0, но также и плагина для Trezor, полностью из исходников, включая драйвер USB. Эти инструкции получены на основании моего опыта. Те инструкции, что есть в интернет — не работают как есть. Их пришлось доработать 🙂

  1. Имеем Ubuntu 14.04. Можно без установленного плагина Trezor для Firefox. Даже лучше — так как далее мы можем собрать драйвер из исходников. То есть, когда вы ставите плагин с сайта MyTrezor.com, он также ставит из бинарника драйвер. Но здесь я опишу, как его скомилировать
  2. Закроем Firefox, если вдруг вы уже имеете установленный плагин. Это нужно, чтобы не было конфликтов, когда вы будете подключать Trezor к USB
  3. Сначала компилируем драйвер HID USB:
    # Переходим в домашнюю папку
    cd
    # Ставим необходимые модули, включая Си файлы для работы USB & UDEV
    sudo apt-get --yes install python-dev python-setuptools cython libusb-1.0.0-dev libudev-dev git
    # Клонируем текущую версию драйвера
    git clone https://github.com/trezor/cython-hidapi.git
    # Компилируем и устанавливаем
    cd cython-hidapi/
    git submodule init
    git submodule update
    python setup.py build
    sudo python setup.py install
    
  4. Затем компилируем питоновский модуль для работы с Trezor (python-trezor) + устанавливаем конфиг для UDEV
    # Переходим в домашнюю папку
    cd
    # Клонируем исходники модуля для Питона
    git clone https://github.com/trezor/python-trezor.git
    # Компилируем
    cd python-trezor/
    git submodule add https://github.com/trezor/trezor-common.git
    # Компилируем и ставим
    sudo python setup.py install
    # Также устанавливаем файл для инициализации драйвера USB для Trezor - без этого девайс не будет виден по USB
    sudo cp trezor-common/udev/51-trezor-udev.rules /lib/udev/rules.d/
    
  5. Устанавливаем сам Electrum 2.0
    # Снова в домашнюю папку
    cd
    # Ставим всё, что необходимо для компиляции и сборки Electrum
    sudo apt-get --yes install python-pip python-qt4 pyqt4-dev-tools python-slowaes python-ecdsa python-zbar
    sudo pip install pyasn1 pyasn1-modules pbkdf2 tlslite qrcode
    # Клонируем исходники из репозитария
    git clone git://github.com/spesmilo/electrum.git
    cd electrum/
    pyrcc4 icons.qrc -o gui/qt/icons_rc.py
    python mki18n.py
    sudo python setup.py install
    
  6. Всё, запускаем из терминала, должно работать 🙂
    electrum
    
  7. Внутри Electrum, если у вас есть уже готовый установленный Trezor, надо выбрать «Восстановление» и тип кошелька «Hardware Wallet». Подождать, пока подтянуться балансы, закрыть программу Ctrl + Q и снова запустить — появятся справа внизу список аккаунтов и балансов по всем аккаунтам. Теперь можно получать и отправлять деньги посредством Trezor. Также, рекомендую в настройках изменить размер Fee для транзакций — уменьшить с 0.5 до 0.1 mBTC за Кбайт.

Надеюсь, что установка у вас прошла гладко 🙂