2014-07-26 10:22:32 +00:00
python-trezor
=============
2014-02-03 18:19:45 +00:00
2015-12-21 19:42:33 +00:00
.. image :: https://travis-ci.org/trezor/python-trezor.svg?branch=master
:target: https://travis-ci.org/trezor/python-trezor
2016-05-11 19:15:22 +00:00
.. image :: https://badges.gitter.im/trezor/community.svg
:target: https://gitter.im/trezor/community
2016-02-10 15:46:58 +00:00
Client side implementation for TREZOR-compatible Bitcoin hardware wallets.
2014-02-03 18:19:45 +00:00
See http://bitcointrezor.com for more information.
2014-08-11 19:31:34 +00:00
Example
-------
also found in `` helloworld.py ``
.. code :: python
2015-05-13 08:23:02 +00:00
#!/usr/bin/env python
2014-08-11 19:31:34 +00:00
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:
2016-05-20 11:36:17 +00:00
print('No TREZOR found')
2014-08-11 19:31:34 +00:00
return
# Use first connected device
transport = HidTransport(devices[0])
# Creates object for manipulating TREZOR
client = TrezorClient(transport)
# Print out TREZOR's features and settings
2016-05-20 11:36:17 +00:00
print(client.features)
2014-08-11 19:31:34 +00:00
# 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)
2016-05-20 11:36:17 +00:00
print('Bitcoin address:', address)
2014-08-11 19:31:34 +00:00
client.close()
if __name__ == '__main__':
main()
2015-07-08 20:36:10 +00:00
PIN Entering
------------
2015-07-08 17:52:09 +00:00
2015-07-08 20:36:10 +00:00
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:
2015-07-08 17:52:09 +00:00
2015-07-08 20:36:10 +00:00
=== === ===
7 8 9
4 5 6
1 2 3
=== === ===
2015-07-08 17:52:09 +00:00
2015-07-08 20:36:10 +00:00
Example: your PIN is **1234** and TREZOR is displaying the following:
2015-07-08 17:52:09 +00:00
2015-07-08 20:36:10 +00:00
=== === ===
2 8 3
5 4 6
7 9 1
=== === ===
You have to enter: **3795**
2015-07-08 17:52:09 +00:00
2016-06-09 14:38:26 +00:00
Install
-------
(Run with sudo if not running in superuser mode)
.. code ::
pip install trezor
How to install from source (Windows)
------------------------------------
2014-02-06 09:40:31 +00:00
* Install Python 2.7 (http://python.org)
* Install Cython (Windows binaries on http://cython.org/#download)
* Install Microsoft Visual Studio 2008 Express
2014-08-09 16:40:47 +00:00
* Add "C:\\Program Files (x86)\\Microsoft Visual Studio 9.0" to system PATH
2014-02-06 09:40:31 +00:00
* Clone repository (using TortoiseGit) to local directory
2014-08-09 16:40:47 +00:00
* Run C:\\python27\\python.exe setup.py install (or develop)
2014-02-06 09:40:31 +00:00
2016-06-09 14:38:26 +00:00
How to install from source (Debian/Ubuntu)
------------------------------------------
2015-03-09 12:12:11 +00:00
* sudo apt-get install python-dev python-setuptools cython libusb-1.0-0-dev libudev-dev git
2014-02-06 09:40:31 +00:00
* git clone https://github.com/trezor/python-trezor.git
* cd python-trezor
* python setup.py install (or develop)