mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-12-27 08:38:07 +00:00
69067c9280
With python-2.7 the float values are sometimes rounded to unacceptable levels, e.g. stripping the last two digits for values over 100k BTC. This change parses floats as strings to avoid rounding. Refactored get_url out of fetch_json to make it easier to add new tx_api with a different url scheme. |
||
---|---|---|
bash_completion.d | ||
tests | ||
tools | ||
trezorlib | ||
.flake8 | ||
.gitignore | ||
.travis.yml | ||
build_pb.sh | ||
COPYING | ||
MANIFEST.in | ||
README.rst | ||
requirements.txt | ||
setup.py | ||
tox.ini | ||
trezorctl | ||
USAGE.rst |
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 `usage <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**