用于与Trezor硬件钱包通信的Python库

trezor-komodo的Python项目详细描述


蟒蛇树

图像

image

用于与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)

包含的trezorctlpython脚本可以执行各种任务,例如 更改trezor中的设置,签署事务,检索帐户 信息和地址。有关详细信息,请参阅子文件夹 示例和选项。

注意:对于 Debian拉伸 (并预装在Tails OS)。

python库

您可以使用这个python库与比特币trezor交互,并 在应用程序中使用它的功能。请参阅此处的示例 工具/子文件夹。

插脚输入

当你被要求输入密码时,你必须输入加密密码。跟随 显示在Trezor显示屏上的数字,并使用 数字键盘映射:

<表>789 456 123

示例:您的PIN为1234,Trezor显示以下信息:

<表>283 546 791

您必须输入: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_addressu public_key函数支持show_display参数
  • trezorctl:stellar_get_addressu 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 pathenv变量。
  • 测试:根据Trezor设备版本自动跳过适当标记的测试
  • 测试:仅在使用-v
  • 运行时显示导线输出
  • 测试:允许基于pytest.ini有选择地运行xfail
  • 文档:用更清晰的安装说明更新了自述文件
  • 文档:切换更改日志以保持更改日志格式

已弃用

  • ckd_public仅在测试中维护。支持子模块并将其视为私有的
  • trezorclient.expand_path被移到普通函数tools.parse_path
  • trezordevice被弃用,取而代之的是传输。枚举设备和传输。获取传输
  • 工具中与xpub相关的处理计划删除

删除

  • 大多数Python2兼容性结构都消失了\229
  • trezorclientverboseverbosewiremixin被删除
  • 特定的tx_api.tx api*类被删除,以支持coins.tx_api
  • client.prime_derivation_flag被删除,取而代之的是tools.hardend_flagtools.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)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么在ng构建之后使用404?   java Maven原型“quickstart”无法扩展其POM   java Arduino端口卡在满功率状态   java如何确保在参数化构造函数失败时不调用默认构造函数?   java检测Blackberry中的切换失败   java如何将安卓库(作为Angle)链接到Eclipse项目?   java压缩图片,但获取“未知压缩方法”   java无法对应该初始化的模拟实例进行测试   将现有eclipse项目导出到war文件时,java“模块名无效”   java如何防止AppletClassLoader在查找类/其他资源时击中服务器?   java正则表达式根据分隔组的分隔符的数量获取n个组   java在JLayeredPane后面与JPanel交互   Java中的xml Soap请求   webView中的java utf8代码页