🐍 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
Jochen Hoenicke 337fe029fd insight api: use hex code
The insight api transaction parser used to look at the assembly to
reconstruct the input and output scripts.  This patch changes it to
use the hex input directly.  This fixes parsing some instructions with
unknown opcodes (e.g. multisig inputs with "0" opcode).
9 years ago
docs Document transport_hid class 10 years ago
tests split xprv unit test into two 9 years ago
tools Refactored password.dat format, backward incompatible change. 10 years ago
trezorlib insight api: use hex code 9 years ago
.gitignore remove images 9 years ago
COPYING python-trezor is LGPLv3 9 years ago
README.rst Add ’git‘ to list of programs to install under Debian-Ubuntu 9 years ago
build_pb.sh cleanup protobuf mess 11 years ago
cmdtr.py rename cmdtr.py to trezorctl (but keep symlink for now) 9 years ago
helloworld.py update example 10 years ago
mnemonic_check.py Updated warning 10 years ago
setup.py disable filecache by default 9 years ago
trezorctl Minor fixes of firmware_update 9 years ago
trezorctl-emu.sh rename cmdtr.py to trezorctl (but keep symlink for now) 9 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 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)