1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-10-13 11:29:11 +00:00
trezor-firmware/README.rst

100 lines
2.6 KiB
ReStructuredText
Raw Normal View History

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
-------
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
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
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 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 20:36:10 +00:00
=== === ===
7 8 9
4 5 6
1 2 3
=== === ===
2015-07-08 20:36:10 +00:00
Example: your PIN is **1234** and TREZOR is displaying the following:
2015-07-08 20:36:10 +00:00
=== === ===
2 8 3
5 4 6
7 9 1
=== === ===
You have to enter: **3795**
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.