了解Trezor硬件钱包

4月 28, 2026 · 3 分钟阅读时长 · 1088 字 · -阅读 -评论 · 编程开发

imkey不支持自定义刷固件,因此这里team内多了解了下另一个品牌,Trezor的硬件钱包。这里mark下一些资料,方便以后回顾。

https://static.1991421.cn/2026/04/2026-04-28-231814.jpeg

固件

看来所有型号都是统一一个固件。

apps支持

https://github.com/trezor/trezor-firmware/tree/main/core/src/apps

模拟器

自定义固件

  1. https://trezor.io/trezor-suite?srsltid=AfmBOortBR02GKnAknyFOeS8YWKwWmQuYZeSHtu-ix4v0_7UJaBYd-5w

trezor 3

  1. https://trezor.io/support/troubleshooting/device-issues/install-custom-firmware-on-trezor-safe-3

trezor 5

  1. https://trezor.io/support/troubleshooting/device-issues/install-custom-firmware-on-trezor-safe-5

trezor 7

  1. https://trezor.io/support/troubleshooting/device-issues/install-custom-firmware-on-trezor-safe-7?srsltid=AfmBOopwRAgh3ldC25awGsoDHbApnG7UgThYw8xWUDtUtBZE8_MHj3QC

推特粉丝数

  1. trezor 大概230k粉丝
  2. ledger 大概670k粉丝 数据来看,trezor的粉丝数是ledger的三分之一左右,说明在社区的影响力可能不如ledger。

网页与钱包通讯

@trezor/connect-web

固件开发/打包

$ git clone git@github.com:trezor/trezor-firmware.git

# 把子模块的资源都拉取下
$ git submodule update --init --recursive --force --progress

# install nix,支持Linux/MacOS,安装完成后需要重启shell。
$ curl -L https://nixos.org/nix/install | sh

$ nix-shell --arg devTools true

# 环境
$ uv sync

$ source .venv/bin/activate

# 测试环境是否搭建成功
$ python -c "import click; print('click ok')"

# 进入core目录,安装依赖
$ cd core

# 拉取第三方
$ make vendor


# 注意,如果代码没有变动,但是重复生成固件,直接会报错,提示文件已经存在了。正常打包会提示比如 cp build/firmware/firmware.bin build/firmware/firmware-T3T1-2.11.2-6daa3bd.bin (trezor-firmware) 
$ make build_firmware 
# 比如如果是T3B1型号的设备,指定环境变量
$ TREZOR_MODEL=T3B1 make build_firmware

# TREZOR_MODEL=T3B1 make upload

# 设备列表,可以确认设备是否连接且被正确识别
$ trezorctl list

固件文件

构建打包后文件在core/build/firmware/firmware-T3B1-2.11.3-3a8d901.bin

https://static.1991421.cn/2026/05/2026-05-13-105333.jpeg

注意:如果本身git文件没完全提交,那么构建的固件会有dirty标记。

查看机器真正型号

trezorctl get-features | grep -E "model|internal_model|vendor|major_version"

刷机

解锁 如果提示不通过则增加解锁

$ trezorctl device unlock-bootloader

根据提示进行解锁。

说明:trezorctl是官方python写的命令行工具。推荐走固件开发流程,去安装环境

$ git clone git@github.com:trezor/trezor-firmware.git

# 把子模块的资源都拉取下
$ git submodule update --init --recursive --force --progress

# install nix,支持Linux/MacOS,安装完成后需要重启shell。
$ curl -L https://nixos.org/nix/install | sh

$ nix-shell --arg devTools true

# 环境
$ uv sync

$ source .venv/bin/activate

# 到此,其实去执行trezorctl命令就会work,比如 trezorctl list 就可以看到设备列表了。

进入bootloader模式

  1. 硬件钱包两个按键同时按住,连接电脑,即可进入bootloader模式。
  2. 硬件钱包点击 Install FW,会提示waiting for host.

命令安装固件 安装方法1

# 这个会唤起真机进行固件刷机,也可以利用trezor suite进行刷机
$ make upload

trezor suite安装固件 安装方法2

安装的前提是进入bootloader模式,进入后会硬件会提示安装,点击安装,然后PC端左上角选择连接设备。

suite安装地址见官网

https://static.1991421.cn/2026/05/2026-05-13-115155.jpeg

https://static.1991421.cn/2026/05/2026-05-13-115316.jpeg

https://static.1991421.cn/2026/05/2026-05-09-164639.jpeg

说明:固件大小的话,我看也就1-2MB,安装很快,需要硬件钱包侧确认。

注意:本地自定义签名固件后,启动钱包会提示warning,只有重新刷回官方签名固件,才会消除这个warning。

web3js与trezor的交互

  • 走PB消息协议
  • 连通的话,走webusb或者bridge协议

相关文档

Alan H
Authors
开发者,数码产品爱好者,喜欢折腾,喜欢分享,喜欢开源