一个帮助用户了解比特币自主保管方案的教育工具。通过交互式界面,用户可以探索硬件签名器、软件钱包和区块链节点的组合,理解不同配置的安全性和便利性权衡。
- 多语言支持:全面支持简体中文 (zh-CN)、繁体中文 (zh-TW) 和英文 (en),自动根据浏览器设置进行切换。
- 暗色模式:支持明暗主题切换,自动跟随系统设置,也可手动切换,提供更舒适的浏览体验。
- 单签/多签模式切换:通过统一的模式选择器,用户可以随时在传统单签名 (1-of-1) 和多签名 (2-of-3、3-of-5) 配置间切换。
- 组件兼容性动态分析:自动筛选并高亮兼容的硬件签名器、软件钱包和节点组合,并展示 USB、QR 码、microSD 等数据传输方式。
- 进度评估系统:根据当前选择的组件组合,实时计算安全性得分,帮助用户直观理解不同配置的优劣。
- 跨平台适配:完美适配桌面端和移动端,并支持手动切换模拟不同设备的体验。
- 前端框架:React 18 + TypeScript + Vite 5
- 样式方案:TailwindCSS 3,支持暗色模式主题切换
- 国际化 (i18n):基于
i18next实现了 UI 文本和业务数据的多语言动态加载。 - 数据管理:采用异步数据加载模式,根据选定语言从
/public/locales/动态获取data.json和faq.md。 - 主题管理:通过
useDarkModeHook 实现暗色模式,自动跟随系统设置,支持手动切换。
├── public/
│ ├── locales/ # 多语言资源文件
│ │ ├── en/ # 英文数据与翻译
│ │ ├── zh-CN/ # 简体中文数据与翻译
│ │ └── zh-TW/ # 繁体中文数据与翻译
│ └── images/logos/ # 品牌 Logo 资源
├── src/
│ ├── components/
│ │ ├── mobile/ # 移动端专用组件
│ │ ├── multisig/ # 多签模式专用组件
│ │ ├── singlesig/ # 单签模式专用组件
│ │ └── shared/ # 跨模式共享组件
│ ├── hooks/ # 自定义 Hooks
│ │ ├── useIsMobile.ts # 移动端检测 Hook
│ │ └── useDarkMode.ts # 暗色模式管理 Hook
│ ├── dataLoader.ts # 异步数据加载器
│ ├── i18n.ts # 国际化配置
│ ├── types.ts # TypeScript 类型定义
│ └── App.tsx # 应用核心状态管理
├── tailwind.config.js
├── vite.config.ts
└── index.html
# 安装依赖
npm install
# 启动开发服务器(默认端口 8080)
npm run dev
# 构建生产版本
npm run build
# 预览生产构建
npm run preview数据现在按语言存储在 public/locales/{lang}/data.json 中。包含以下核心内容:
- 硬件签名器 (hardwareSigners):如 Coldcard, Ledger, Jade 等。
- 软件钱包 (softwareWallets):如 Sparrow, Blue Wallet, Electrum 等。
- 区块链节点 (nodes):如 Bitcoin Core, Electrs, 公共节点等。
- 传输方法 (transferMethods):定义不同签名器与钱包之间的连接媒介。
如需修改或翻译数据,请前往对应的语言文件夹编辑 JSON 文件。
- 仅硬件签名器:50%
- 无签名器 + 钱包:60%
- 无签名器 + 钱包 + 私有节点:80%
- 硬件签名器 + 钱包:100%
- 硬件签名器 + 钱包 + 私有节点:120%(最优配置)
- 每个签名器槽位:+20%(最多 60%)
- 钱包:+50%
- 私有节点:+20%
- 最高:130%
- 每个签名器槽位:+15%(全部填满额外 +5%)
- 钱包:+50%
- 私有节点:+20%
- 最高:150%
欢迎提交 Issue 和 Pull Request 来完善这个教育工具。
本项目采用 MIT 许可证,详见 LICENSE 文件。