2014-07-26 10:22:32 +00:00
python-trezor
=============
2014-02-03 18:19:45 +00:00
2015-12-21 19:42:33 +00:00
.. image :: https://travis-ci.org/trezor/python-trezor.svg?branch=master
:target: https://travis-ci.org/trezor/python-trezor
2016-05-11 19:15:22 +00:00
.. image :: https://badges.gitter.im/trezor/community.svg
:target: https://gitter.im/trezor/community
2017-12-06 15:32:05 +00:00
Python library and commandline client for communicating with TREZOR Hardware Wallet
2014-02-03 18:19:45 +00:00
2016-11-27 12:48:45 +00:00
See https://trezor.io for more information
2014-02-03 18:19:45 +00:00
2016-09-14 19:33:49 +00:00
Install
-------
2017-11-09 14:53:52 +00:00
Linux requirements:
2016-09-14 19:33:49 +00:00
.. code ::
2018-02-02 15:34:30 +00:00
sudo apt-get install python3-dev cython3 libusb-1.0-0-dev libudev-dev git
2016-09-14 19:33:49 +00:00
2017-11-09 14:53:52 +00:00
Linux & Mac Python requirements:
2016-09-14 19:33:49 +00:00
.. code ::
2017-02-10 13:39:54 +00:00
2018-02-02 15:34:30 +00:00
sudo -H pip3 install setuptools
sudo -H pip3 install -r requirements.txt
sudo -H pip3 install trezor
2016-09-14 19:33:49 +00:00
2017-10-12 05:50:13 +00:00
On FreeBSD you can install the packages:
.. code ::
pkg install security/py-trezor
or build via ports:
.. code ::
cd /usr/ports/security/py-trezor
make install clean
2017-06-14 16:23:14 +00:00
2017-12-06 15:32:05 +00:00
Commandline client (trezorctl)
---------------------------
2017-06-14 16:23:14 +00:00
2017-12-06 15:32:05 +00:00
The included `` trezorctl `` python script can perform various tasks such as changing setting in the Trezor, signing transactions, retrieving account info and addresses. See the `docs/ <docs/> `_ sub folder for detailed examples and options.
2014-08-11 19:31:34 +00:00
2017-12-06 15:32:05 +00:00
NOTE: An older version of the `` trezorctl `` command is `available for Debian Stretch <https://packages.debian.org/en/stretch/python-trezor> `_ (and comes pre-installed on `Tails OS <https://tails.boum.org/> `_ ).
2014-08-11 19:31:34 +00:00
2017-12-06 15:32:05 +00:00
Python Library
--------------
2014-08-11 19:31:34 +00:00
2017-12-06 15:32:05 +00:00
You can use this python library to interact with a Bitcoin Trezor and use its capabilities in your application.
See examples here in the `tools/ <tools/> `_ sub folder.
2014-08-11 19:31:34 +00:00
2015-07-08 20:36:10 +00:00
PIN Entering
------------
2015-07-08 17:52:09 +00:00
2015-07-08 20:36:10 +00:00
When you are asked for PIN, you have to enter scrambled PIN. Follow the numbers shown on TREZOR display and enter the their positions using the numeric keyboard mapping:
2015-07-08 17:52:09 +00:00
2015-07-08 20:36:10 +00:00
=== === ===
7 8 9
4 5 6
1 2 3
=== === ===
2015-07-08 17:52:09 +00:00
2015-07-08 20:36:10 +00:00
Example: your PIN is **1234** and TREZOR is displaying the following:
2015-07-08 17:52:09 +00:00
2015-07-08 20:36:10 +00:00
=== === ===
2 8 3
5 4 6
7 9 1
=== === ===
You have to enter: **3795**
2018-04-10 09:40:06 +00:00
Contributing
------------
Python-trezor pulls coins info and protobuf messages from `trezor-common <https://github.com/trezor/trezor-common> `_ repository. If you are
developing new features for Trezor, you will want to start there. Once your changes are accepted to `` trezor-common `` , you can make a PR
against this repository. Don't forget to update the submodule with:
.. code ::
git submodule update --init --remote
Then, rebuild the protobuf messages and get `` coins.json `` by running:
.. code ::
python3 setup.py prebuild
To get support for BTC-like coins, these steps are enough and no further changes to the library are necessary.