一个半安全、对黑客友好的硬件加密钱包,运行在 hip-badge ESP32-C3 平台上,并搭载板载 ATECC608B 安全元件。它可为 BTC、ETH(以及 8 条 EVM 链)、SOL 和 XMR 签署交易,并配有设备端 SIGN 屏幕,用户必须在任何私钥接触消息之前予以批准。
firmware/badge/ runtime wallet
firmware/factory/ one-shot provisioning firmware + host driver
ref/ gitignored — clone upstream schematics here
⚠ 请先在新徽章上刷入出厂固件。 运行时 钱包期望 ATECC608B 已完成配置(槽密钥已加载、 配置区已设置),否则无法解锁其 PIN 包装的种子。 顺序为:构建出厂固件 → 刷入出厂固件 → 运行主机 驱动(
factory_provision.py)→ 构建运行时 → 刷入运行时。 跳过出厂步骤将导致 SE 初始化失败,并在启动画面处 卡住。请参阅docs/TOOLS.md§ 出厂配置 了解主机驱动的操作说明。
# Activate ESP-IDF in this shell (see firmware/BUILDING.md for install)
. ~/esp/esp-idf/export.sh # or export.ps1 on Windows
# 1. Factory provision (one-time per badge)
cd firmware/factory
idf.py -B build -p $PORT build flash monitor
# (in another shell) cd firmware/factory/tools && \
# uv run --with pyserial --with cbor2 factory_provision.py --port $PORT
# 2. Build + flash the runtime (do this AFTER factory)
cd ../badge
export SDKCONFIG_DEFAULTS="sdkconfig.defaults;sdkconfig.dev"
idf.py -B build_dev -p $PORT build flash monitor
完整操作指南(Linux / macOS / Windows):firmware/BUILDING.md。
要配置一块全新的徽章或复现测试套件: docs/TOOLS.md。
| 阅读此文档 | 如果你想…… |
|---|---|
firmware/BUILDING.md | 安装 ESP-IDF 并首次烧录设备 |
docs/ARCHITECTURE.md | 了解钱包的工作原理——组件、信任区域、签名流程 |
docs/TOOLS.md | 运行出厂配置主机驱动或各币种签名测试 |
docs/VERIFY.md | 在重大变更之前/之后运行验证扫描 |
docs/PLAN.md | 阅读详尽的安全规范——KEK 仪式、槽位映射、恢复流程 |
docs/CODE_STYLE.md | 提交符合项目约定的 PR |
CONTRIBUTING.md | 发起 PR(分支、提交、评审预期) |
TODO.md | 找点事情做,或查看已经交付的内容 |
CLAUDE.md | 向 AI 助手(Claude、Cursor 等)简要介绍项目 |
| 类型 | eFuse | 用途 | 可重新烧录? |
|---|---|---|---|
dev | 虚拟(flash) | 日常迭代 | 是,始终可以 |
stage | 真实,未锁定 | 端到端芯片测试 | 是,直到你锁定 |
prod | 真实,已锁定 | 已出厂设备,Secure Boot V2 | 否 |
混合:
firmware/badge/components/trezor-crypto/ — MIT(从 Trezor 引入)firmware/badge/components/tinycbor/ — MIT(Intel)firmware/badge/components/qrcodegen/ — MIT(Project Nayuki)firmware/badge/main/(扩展 hip-badge blinkenlights/)— GPL-2.0-or-later