/python-trezor

Client side implementation for TREZOR-compatible Bitcoin hardware wallets.

Primary LanguagePythonGNU Lesser General Public License v3.0LGPL-3.0

python-trezor

Client side implementation for Trezor-compatible Bitcoin hardware wallets.

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

Example

also found in helloworld.py

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

When you got asked for PIN, you have to enter scrambled pin shown in Trezor display using the numeric keyboard mapping.

7 8 9 4 5 6 1 2 3

Example: your pin is 1234 and your Trezor is displaying

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)