🐍 Client side implementation for TREZOR-compatible Bitcoin hardware wallets.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Go to file
Pavol Rusnak 69d2d2ded3 verify test without address does not make sense 10 years ago
docs Document transport_hid class 10 years ago
tests verify test without address does not make sense 10 years ago
tools Refactored password.dat format, backward incompatible change. 10 years ago
trezorlib add more tests to test_msg_verifymessage 10 years ago
.gitignore fix unittests using client.get_public_node method 10 years ago
README.rst update example 10 years ago
build_pb.sh cleanup protobuf mess 11 years ago
cmdtr-emu.sh add cmdtr-emu.sh for easier work with emulator 10 years ago
cmdtr.py decrypt_keyvalue in cmdtr.py takes value in hex from command line 10 years ago
helloworld.py update example 10 years ago
mnemonic_check.py Updated warning 10 years ago
setup.py pin protobuf dependency to 2.5.0 10 years ago

README.rst

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/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()

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
* git clone https://github.com/trezor/python-trezor.git
* cd python-trezor
* python setup.py install (or develop)

Internal note:
--------------
* Clone cython-hidapi from github.com/trezor/cython-hidapi
* Go to cython-hidapi directory
* Run "git submodule init" in Git Bash (TortoiseGit)
* Run "git submodule update" in Git Bash (TortoiseGit)