Package: trezor-komodo
python-trezorPython library and commandline client for communicating with TREZOR
Hardware WalletSeehttps://trezor.iofor more informationInstallPython-trezor requires Python 3.3 or higher, and libusb 1.0. The easiest
way to install it is withpip. The rest of this guide assumes you have
a workingpip; if not, you can refer tothis
guide.Trezor T onlyOn a typical Linux / Mac / BSD system, you already have all you need.
Installtrezorwith:pip3install--upgradesetuptools
pip3installtrezorOn Windows, you also need to installlibusband the
appropriatedrivers. This is, unfortunately, a
topic bigger than this README.Trezor One supportIn addition to the above, you need to install development headers for
HIDAPI.On a Debian or Ubuntu based system, you can install these:sudoapt-getinstallpython3-devpython3-pipcython3libusb-1.0-0-devlibudev-devWhen installing the trezor library, you need to specify that you wanthidapi:pip3install--upgradesetuptools
pip3installtrezor[hidapi]Ethereum supportEthereum requires additional python packages. Instead ofpip3 install trezor, specifypip3 install trezor[ethereum].You can combine it with the above, to get both HIDAPI and Ethereum
support:pip3installtrezor[ethereum,hidapi]FreeBSDOn FreeBSD you can install the packages:pkginstallsecurity/py-trezoror build via ports:cd/usr/ports/security/py-trezor
makeinstallcleanCommand line client (trezorctl)The includedtrezorctlpython script can perform various tasks such as
changing setting in the Trezor, signing transactions, retrieving account
info and addresses. See thedocs/sub folder for detailed
examples and options.NOTE: An older version of thetrezorctlcommand isavailable for
Debian Stretch(and comes pre-installed onTails OS).Python LibraryYou can use this python library to interact with a Bitcoin Trezor and
use its capabilities in your application. See examples here in thetools/sub folder.PIN EnteringWhen 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:789456123Example: your PIN is1234and TREZOR is displaying the following:283546791You have to enter:3795ContributingPython-trezor pulls coins info and protobuf messages fromtrezor-commonrepository. If
you are developing new features for Trezor, you will want to start
there. Once your changes are accepted totrezor-common, you can make a
PR against this repository. Don't forget to update the submodule with:gitsubmoduleupdate--init--remoteThen, rebuild the protobuf messages and getcoins.jsonby running:python3setup.pyprebuildTo get support for BTC-like coins, these steps are enough and no further
changes to the library are necessary.ChangelogAll notable changes to this project will be documented in this file.The format is based onKeep a Changelog.At the moment, the project doesnotadhere toSemantic Versioning. That is expected to change with version 1.0.0.10.2- 2018-06-21Addedstellar_get_addressand_public_keyfunctions supportshow_displayparametertrezorctl:stellar_get_addressand_public_keycommands for the respective functionalityRemovedtrezorctl:list_coinsis removed because we no longer parse the relevant protobuf field
(and newer Trezor firmwares don't send it)#277Fixedtest support module was not included in the release, so code relying on the deprecatedckd_publicmodule would fail#2800.10.1- 2018-06-11Fixedprevious release fails to build on Windows#2740.10.0- 2018-06-08AddedLisk support#197Stellar support#167,#268Wanchain support#230support for "auto lock delay" featureTrezorClienttakes an additional argumentstatethat allows reusing the previously entered passphrase#241USB transports mention udev rules in exception messages#245log.enable_debug_outputfunction turns on wire logging, instead of having to useTrezorClientVerboseBIP32 paths now support123hin addition to123'to indicate hardeningtrezorctl:-pnow supports prefix search for device path#226trezorctl: smarter handling of firmware updates#242,#269Changedreorganized transports and moved into their owntransportsubmoduleprotobuf messages and coins info is now regenerated at build time from thetrezor-commonrepository#248renameded25519rawto_ed25519to indicate its privatenessrenameded25519cositocosiand expanded its APIprotobuf messages are now logged through Python'sloggingfacility instead of custom printing throughVerboseWireMixinclient.format_protobufis moved toprotobuf.format_messagetools.Hashis renamed totools.btc_hashcoinsmodulecoins_txapiis renamed totx_api.coins_slip44is renamed toslip44.build: stricter flake8 checksbuild: split requirements to separate filestests: unified finding test device, while respectingTREZOR_PATHenv variable.tests: auto-skip appropriately marked tests based on Trezor device versiontests: only show wire output when run with-vtests: allow runningxfailed tests selectively based onpytest.inidocs: updated README with clearer install instructions#185docs: switched changelog to Keep a Changelog format#94Deprecatedckd_publicis only maintained intests.supportsubmodule and considered privateTrezorClient.expand_pathis moved to plain functiontools.parse_pathTrezorDeviceis deprecated in favor oftransport.enumerate_devicesandtransport.get_transportXPUB-related handling intoolsis slated for removalRemovedmost Python 2 compatibility constructs are gone#229TrezorClientVerboseandVerboseWireMixinis removedspecifictx_api.TxApi*classes removed in favor ofcoins.tx_apiclient.PRIME_DERIVATION_FLAGis removed in favor oftools.HARDENED_FLAGandtools.H_()hard dependency on Ethereum libraries and HIDAPI is changed into extras that need to be
specified explicitly. Requiretrezor[hidapi]ortrezor[ethereum]to get them.FixedWebUSB enumeration returning bad devices on Windows 10#223sign_txoperation sending empty address string#237Wrongly formatted Ethereum signatures#236protobuf layer would wrongly encode signed integers#249,#250protobuf pretty-printing broken on Python 3.4#256trezorctl: Matrix recovery on Windows wouldn't allow backspace#207aes_encfs_getpass.py: fixed Python 3 bug#1690.9.1- 2018-03-05Addedproper support for Trezor model Tsupport for Monacoinimprovements totrezorctl:add pretty-printing of features and protobuf debug dumps (fixes#199)supportTREZOR_PATHenvironment variable to preselect a Trezor device.Removedgradually dropping Python 2 compatibility (pypi package will now be marked as Python 3 only)