Skip to content

zengmi2140/hodl

Repository files navigation

比特币自主保管模拟器

一个帮助用户了解比特币自主保管方案的教育工具。通过交互式界面,用户可以探索硬件签名器、软件钱包和区块链节点的组合,理解不同配置的安全性和便利性权衡。

核心功能

  • 多语言支持:全面支持简体中文 (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.jsonfaq.md
  • 主题管理:通过 useDarkMode Hook 实现暗色模式,自动跟随系统设置,支持手动切换。

项目结构

├── 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%(最优配置)

多签模式 (2-of-3)

  • 每个签名器槽位:+20%(最多 60%)
  • 钱包:+50%
  • 私有节点:+20%
  • 最高:130%

多签模式 (3-of-5)

  • 每个签名器槽位:+15%(全部填满额外 +5%)
  • 钱包:+50%
  • 私有节点:+20%
  • 最高:150%

贡献

欢迎提交 Issue 和 Pull Request 来完善这个教育工具。

许可证

本项目采用 MIT 许可证,详见 LICENSE 文件。

About

一个帮助用户了解比特币自主保管方案的教育工具。通过交互式界面,用户可以探索硬件签名器、软件钱包和区块链节点的组合,理解不同配置的安全性和便利性权衡。

Topics

Resources

License

Stars

Watchers

Forks

Contributors