用于与Trezor硬件钱包通信的Python库
trezor-komodo的Python项目详细描述
蟒蛇树
用于与trezor通信的python库和命令行客户机 硬件钱包
有关详细信息,请参见https://trezor.io
安装
python trezor需要python 3.3或更高版本,以及libusb 1.0。最容易
安装方法是使用pip
。本指南的其余部分假设您
a workingpip
;如果没有,可以参考
指南
仅限Trezor T
在典型的linux/mac/bsd系统上,您已经拥有了所需的一切。 使用以下命令安装Trezor
pip3 install --upgrade setuptools pip3 install trezor
在Windows上,还需要安装 libusb和 适当的驱动程序。不幸的是,这是 主题大于此自述文件。
Trezor One支持
除上述内容外,还需要安装 HIDAP.
在基于debian或ubuntu的系统上,您可以安装这些:
sudo apt-get install python3-dev python3-pip cython3 libusb-1.0-0-dev libudev-dev
安装trezor库时,需要指定
hidapi
:
pip3 install --upgrade setuptools pip3 install trezor[hidapi]
以太坊支持
以太坊需要额外的python包。而不是
pip3安装trezor
,指定pip3安装trezor[ethereum]
你可以把它和上面的结合起来,得到hidapi和ethereum 支持:
pip3 install trezor[ethereum,hidapi]
FreeBSD
在FreeBSD上,您可以安装软件包:
pkg install security/py-trezor
或通过端口生成:
cd /usr/ports/security/py-trezor
make install clean
命令行客户端(trezorctl)
包含的trezorctl
python脚本可以执行各种任务,例如
更改trezor中的设置,签署事务,检索帐户
信息和地址。有关详细信息,请参阅子文件夹
示例和选项。
注意:对于 Debian拉伸 (并预装在Tails OS)。
python库
您可以使用这个python库与比特币trezor交互,并 在应用程序中使用它的功能。请参阅此处的示例 工具/子文件夹。
插脚输入
当你被要求输入密码时,你必须输入加密密码。跟随 显示在Trezor显示屏上的数字,并使用 数字键盘映射:
<表>示例:您的PIN为1234,Trezor显示以下信息:
<表>您必须输入:3795
贡献
python trezor从
trezor-common存储库。如果
你正在为Trezor开发新功能,你需要开始
那里。一旦您的更改被接受为trezor common
,您可以
针对此存储库的PR。D别忘了用以下命令更新子模块:
git submodule update --init --remote
然后,重新生成protobuf消息,通过运行:
python3 setup.py prebuild
为了获得对类似BTC的硬币的支持,这些步骤已经足够了,而且没有进一步的步骤了 必须更改库。
更改日志
此项目的所有显著更改都将记录在此文件中。
格式基于保持更改日志
目前,该项目没有遵守语义版本控制。在版本1.0中预期会发生变化。
0.10.2-2018-06-21
添加
stellar_get_address
和u public_key
函数支持show_display
参数- trezorctl:
stellar_get_address
和u public_key
用于各自功能的命令
删除
- trezorctl:
列表硬币
被删除,因为我们不再解析相关的protobuf字段 (而且新的Trezor固件不会发送它)\277
已修复
- 测试支持模块未包含在发行版中,因此依赖于已弃用的ckd\u public模块的代码将失败\280
0.10.1-2018-06-11
已修复
- 以前的版本无法在Windows上构建
0.10.0-2018-06-08
添加
- Lisk支持
- 明星支持\167,\268
- wanchain支持
- 支持"自动锁定延迟"功能
trezorclient
接受一个附加的参数state
允许重用先前输入的密码短语- USB传输在异常消息中提到UDEV规则
log.enable_debug_output
函数打开有线日志记录,而不必使用trezorclientverbose
- bip32路径现在支持
123h
以及123'
以指示硬化 - trezorctl:
-p
现在支持设备路径的前缀搜索 - trezorctl:更智能地处理固件更新
更改
- 重新组织传输并移动到它们自己的
传输
子模块 - protobuf消息和硬币信息现在在构建时从
trezor common
存储库中重新生成 - 将
ed25519raw
重命名为\u ed25519
以表示其私有性 - 将
ed25519cosi
重命名为cosi
并扩展了其api <Lprotobuf消息现在通过python的日志记录功能记录,而不是通过
verbosewiremixin>自定义打印
将client.format\u protobuf
移动到protobuf.format\u消息
tools.hash
被重命名为tools.btc_hash
coins
模块coins\u tx api
被重命名为tx\u api
硬币slip44
被重命名为slip44
- 构造:更严格的薄片8检查
- 构建:分离要求以分离文件
- 测试:统一查找测试设备,同时考虑
trezor\u path
env变量。- 测试:根据Trezor设备版本自动跳过适当标记的测试
- 测试:仅在使用
运行时显示导线输出-v
- 测试:允许基于pytest.ini有选择地运行xfail
- 文档:用更清晰的安装说明更新了自述文件
- 文档:切换更改日志以保持更改日志格式
已弃用
ckd_public
仅在测试中维护。支持子模块并将其视为私有的
trezorclient.expand_path
被移到普通函数tools.parse_path
trezordevice
被弃用,取而代之的是传输。枚举设备和
传输。获取传输
工具中与xpub相关的处理计划删除
删除
- 大多数Python2兼容性结构都消失了\229
trezorclientverbose
和verbosewiremixin
被删除- 特定的
tx_api.tx api*
类被删除,以支持coins.tx_api
client.prime_derivation_flag
被删除,取而代之的是tools.hardend_flag
和tools.h_()
- 对以太坊库和hidapi的硬依赖性已更改为需要
明确指定。需要
trezor[hidapi]
或trezor[ethereum]
才能获取它们。
已修复
- WebUSB枚举返回Windows 10上的坏设备
签署TX
发送空地址字符串的操作\237- 以太坊签名格式错误
- protobuf层会错误地对有符号整数进行编码。
- python 3.4上的protobuf pretty printing中断
- trezorctl:windows上的矩阵恢复不允许退格\207
- aes_encfs_getpass.py:修复了python 3错误\169
0.9.1-2018-03-05
添加
- 对Trezor T型的适当支持
- 支持Monacoin
- 对trezorctl的改进:
- 添加功能和调试转储协议的漂亮打印(修复\199)
- 支持将环境变量设置为pres选择Trezor设备。
删除
- 逐渐降低Python2的兼容性(Pypi包现在将标记为仅限Python3)