1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-26 17:38:39 +00:00
trezor-firmware/README.rst
2017-06-28 13:42:44 +02:00

110 lines
2.4 KiB
ReStructuredText

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
-------
(Run with sudo if not running in superuser mode under Linux)
.. code::
pip install trezor
On Linux you might need to run these commands first:
.. code::
sudo apt-get install python-dev cython libusb-1.0-0-dev libudev-dev git
sudo pip install setuptools
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 `usage <USAGE.rst>`_ page for more info.
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**