2015-05-12 14:36:56 +00:00
|
|
|
#!/usr/bin/env python
|
2016-05-20 20:27:20 +00:00
|
|
|
from __future__ import print_function
|
2014-08-11 18:19:05 +00:00
|
|
|
|
|
|
|
from trezorlib.client import TrezorClient
|
|
|
|
from trezorlib.transport_hid import HidTransport
|
|
|
|
|
2017-06-23 19:31:42 +00:00
|
|
|
|
2014-08-11 18:19:05 +00:00
|
|
|
def main():
|
|
|
|
# List all connected TREZORs on USB
|
|
|
|
devices = HidTransport.enumerate()
|
|
|
|
|
2014-08-11 19:31:34 +00:00
|
|
|
# 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
|
|
|
|
|
2014-08-11 18:19:05 +00:00
|
|
|
# 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 18:19:05 +00:00
|
|
|
|
2014-08-11 19:31:34 +00:00
|
|
|
# Get the first address of first BIP44 account
|
2017-01-10 14:25:13 +00:00
|
|
|
# (should be the same address as shown in wallet.trezor.io)
|
2014-08-11 18:19:05 +00:00
|
|
|
bip32_path = client.expand_path("44'/0'/0'/0/0")
|
2014-08-11 19:31:34 +00:00
|
|
|
address = client.get_address('Bitcoin', bip32_path)
|
2016-05-20 11:36:17 +00:00
|
|
|
print('Bitcoin address:', address)
|
2014-08-11 18:19:05 +00:00
|
|
|
|
|
|
|
client.close()
|
|
|
|
|
2017-06-23 19:31:42 +00:00
|
|
|
|
2014-08-11 18:19:05 +00:00
|
|
|
if __name__ == '__main__':
|
|
|
|
main()
|