1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-02-16 01:22:02 +00:00
Go to file
Edward Betts 0c0d7ef893 Include tests in release source tarball
It would be great to include the test suite in the pypi release tarball.
That way people who download and build the release can run the tests to
ensure the library is working.

Linux distributions, such as Debian, base their packages of Python
modules on the pypi release. This means the test suite can be run when
building a Debian package, it should catch mistakes in the packaging or
errors in dependencies.

I've written some more on this topic on the Debian Python mailing list.
https://lists.debian.org/debian-python/2016/04/msg00074.html
2016-04-25 07:23:59 +01:00
tests fix spelling of TREZOR 2016-02-10 16:48:13 +01:00
tools fix spelling of TREZOR 2016-02-10 16:48:13 +01:00
trezorlib Revert "Added code to make trezor-agent work with keepkey." 2016-02-12 23:11:57 +01:00
.gitignore remove images 2015-05-07 18:29:38 +02:00
.travis.yml drop python 2.6 and older, 3.3 and older 2016-02-18 11:19:15 +01:00
build_pb.sh cleanup protobuf mess 2013-12-16 17:40:25 +01:00
cmdtr.py rename cmdtr.py to trezorctl (but keep symlink for now) 2015-02-22 14:23:39 +01:00
COPYING python-trezor is LGPLv3 2015-01-30 23:55:29 +01:00
helloworld.py Update hashbang to use /usr/bin/env python 2015-05-13 02:36:56 +12:00
MANIFEST.in Include tests in release source tarball 2016-04-25 07:23:59 +01:00
mnemonic_check.py Update hashbang to use /usr/bin/env python 2015-05-13 10:23:02 +02:00
README.rst fix spelling of TREZOR 2016-02-10 16:48:13 +01:00
setup.py bump version 2016-02-15 16:20:21 +01:00
trezorctl fix spelling of TREZOR 2016-02-10 16:48:13 +01:00
trezorctl-emu.sh rename cmdtr.py to trezorctl (but keep symlink for now) 2015-02-22 14:23:39 +01:00

python-trezor
=============

.. image:: https://travis-ci.org/trezor/python-trezor.svg?branch=master
    :target: https://travis-ci.org/trezor/python-trezor

Client side implementation for TREZOR-compatible Bitcoin hardware wallets.

See http://bitcointrezor.com for more information.

Example
-------

also found in ``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 mytrezor.com)
      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**

How to install (Windows)
------------------------
* Install Python 2.7 (http://python.org)
* Install Cython (Windows binaries on http://cython.org/#download)
* Install Microsoft Visual Studio 2008 Express
* Add "C:\\Program Files (x86)\\Microsoft Visual Studio 9.0" to system PATH
* Clone repository (using TortoiseGit) to local directory
* Run C:\\python27\\python.exe setup.py install (or develop)

How to install (Debian-Ubuntu)
------------------------------
* sudo apt-get install python-dev python-setuptools cython libusb-1.0-0-dev libudev-dev git
* git clone https://github.com/trezor/python-trezor.git
* cd python-trezor
* python setup.py install (or develop)