mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-12-21 13:58:08 +00:00
bash_completion.d | ||
docs | ||
tests | ||
tools | ||
trezorlib | ||
.flake8 | ||
.gitignore | ||
.travis.yml | ||
build_pb.sh | ||
COPYING | ||
MANIFEST.in | ||
README.rst | ||
requirements.txt | ||
setup.py | ||
tox.ini | ||
trezorctl |
python-trezor ============= .. image:: https://travis-ci.org/trezor/python-trezor.svg?branch=master :target: https://travis-ci.org/trezor/python-trezor .. image:: https://badges.gitter.im/trezor/community.svg :target: https://gitter.im/trezor/community Python library for communicating with TREZOR Hardware Wallet See https://trezor.io for more information Install ------- Linux requirements: .. code:: sudo apt-get install python-dev cython libusb-1.0-0-dev libudev-dev git Linux & Mac Python requirements: .. code:: sudo -H pip install setuptools sudo -H pip install -r requirements.txt sudo -H pip install trezor 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 Usage ----- There is a command line tool called ``trezorctl`` which can perform various tasks. Use the following to learn about its commands: .. code:: trezorctl --help or to learn options of a particular command: .. code:: trezorctl commands --help or visit `docs/USAGE.rst <docs/USAGE.rst>`_ page for more info. NOTE: 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/>`_). To use the library in your application look at the following example. Example ------- also found in ``tools/helloworld.py`` .. code:: python #!/usr/bin/env python from trezorlib.client import TrezorClient from trezorlib.transport_hid import HidTransport def main(): # List all connected TREZORs on USB devices = HidTransport.enumerate() # Check whether we found any if len(devices) == 0: print('No TREZOR found') return # Use first connected device transport = HidTransport(devices[0]) # Creates object for manipulating TREZOR client = TrezorClient(transport) # Print out TREZOR's features and settings print(client.features) # Get the first address of first BIP44 account # (should be the same address as shown in wallet.trezor.io) bip32_path = client.expand_path("44'/0'/0'/0/0") address = client.get_address('Bitcoin', bip32_path) print('Bitcoin address:', address) client.close() if __name__ == '__main__': main() PIN Entering ------------ 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: === === === 7 8 9 4 5 6 1 2 3 === === === Example: your PIN is **1234** and TREZOR is displaying the following: === === === 2 8 3 5 4 6 7 9 1 === === === You have to enter: **3795**