Skip to main content

ape-trezor: Plugin for Trezor Hardware Wallets

Project description

Quick Start

Ape Trezor is a plugin for Ape Framework which integrates Trezorlib ethereum.py to load and create accounts, sign messages, and sign transactions.

Dependencies

  • python3 version 3.10 up tp 3.14.
  • Supported Trezor device (x = tested):
    • Model T
    • Safe 3
    • Safe 5
    • Safe 7

Note: USB does not work in WSL2 environments natively and requires additional setup.

Installation

via pip

You can install the latest release via pip:

pip install ape-trezor

via setuptools

You can clone the repository and use setuptools for the most up-to-date version:

git clone https://github.com/ApeWorX/ape-trezor.git
cd ape-trezor
python3 setup.py install

Quick Usage

Trezor accounts have the following capabilities in ape:

  1. Can sign transactions (both static-fee and EIP-1559 compliant)
  2. Can sign messages using the default EIP-191 specification

To use the Trezor plugin, you must have the Trezor USB device connected and unlocked.

WARNING: When the Trezor Suite is open, you may face additional connection issues. It is recommended to not have the Trezor Suite application open while using the plugin.

Add Accounts

Add accounts using the add command:

ape trezor add <alias>

You can also specify the HD Path:

ape trezor add <alias> --hd-path "m/44'/1'/0'/0"

WARNING: When using 3rd party wallets, such as this plugin, trezorlib discourages signing transactions from the default Ethereum HD Path m/44'/60'/0'/0. Changing the HD-Path in that circumstance will allow fewer warnings from both Ape and the device, as well as improved security. See https://github.com/trezor/trezor-firmware/issues/1336#issuecomment-720126545 for more information.

trezor:
  hd_path: "m/44'/1'/0'/0"

List Accounts

To list just your Trezor accounts in ape, do:

ape trezor list

Remove accounts

You can also remove accounts:

ape trezor delete <alias>
ape trezor delete-all

Sign Messages

You can sign messages with your accounts:

ape trezor sign-message <alias> "hello world"

Verify Messages

You can also verify a message with a signature:

ape trezor verify-message "hello world" <signature>

Using trezorctl

For conveinence, we've added trezorctl from the trezor library as a subcommand under this plugin's own ape trezor cli subcommand. To access it, simply use ape trezor ctl [CMD].

As an example, to connect to the new BLE-enabled Trezor 7 device, use:

$ ape trezor ctl ble connect

You can also use other commands for deeper management of the device such as:

# Setup a new device
$ ape trezor ctl device setup

# Manage firmware on device(s)
$ ape trezor ctl firmware

Development

Please see the contributing guide to learn more how to contribute to this project. Comments, questions, criticisms and pull requests are welcomed.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ape_trezor-0.8.4.tar.gz (29.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ape_trezor-0.8.4-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

Details for the file ape_trezor-0.8.4.tar.gz.

File metadata

  • Download URL: ape_trezor-0.8.4.tar.gz
  • Upload date:
  • Size: 29.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.20

File hashes

Hashes for ape_trezor-0.8.4.tar.gz
Algorithm Hash digest
SHA256 d2166d7d47c4b2e0ea457f8c0b190fabf19840b7bbb9889e2c40cacf2ea95164
MD5 d39973076a833238292d9a53c6159b3d
BLAKE2b-256 6cbd80df71f52b19b34c36fa79472580e637af2d476566f190be091562315919

See more details on using hashes here.

File details

Details for the file ape_trezor-0.8.4-py3-none-any.whl.

File metadata

  • Download URL: ape_trezor-0.8.4-py3-none-any.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.20

File hashes

Hashes for ape_trezor-0.8.4-py3-none-any.whl
Algorithm Hash digest
SHA256 d996b6b3a44e049948d8dc5094fe2c61b21854cac90aad8e6e4b6a6d902cde14
MD5 835fb0bbe86e0c3e7e7788012eb0c477
BLAKE2b-256 90d33281ad33ef27e63400488da34888d7c1c2b175ec4e0966c8b75b4fd68ff8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page