Giter VIP home page Giter VIP logo

python-trezor's Introduction

python-trezor

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

Python library for communicating with TREZOR Hardware Wallet

See https://trezor.io for more information

Install

(Run with sudo if not running in superuser mode under Linux)

pip install trezor

On Linux you might need to run these commands first:

sudo apt-get install python-dev cython libusb-1.0-0-dev libudev-dev git
sudo pip install setuptools

On FreeBSD you can install the packages:

pkg install security/py-trezor

or build via ports:

cd /usr/ports/security/py-trezor
make install clean

Usage

There is a command line tool called trezorctl which can perform various tasks. Use the following to learn about its commands:

trezorctl --help

or to learn options of a particular command:

trezorctl commands --help

or visit usage page for more info.

To use the library in your application look at the following example.

Example

also found in tools/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 wallet.trezor.io)
    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

python-trezor's People

Contributors

admin-slush avatar arachnid avatar bithobbes avatar chrisrico avatar ddworken avatar dekoza avatar edwardbetts avatar ehaupt avatar hiviah avatar jhoenicke avatar jpochyla avatar karelbilek avatar kyuupichan avatar lizthegrey avatar mdance avatar mruddy avatar nelisky avatar peterzen avatar prusnak avatar reiven avatar romanz avatar saleemrashid avatar santiagorp avatar slush0 avatar smarek avatar timthelion avatar tmsrjs avatar ywecur avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.