agent-wallet-nwc-bridge

⚡ 自托管闪电网络NWC桥接服务

基于Node.js的自托管NWC桥接方案,通过systemd服务将本地Lightning钱包安全接入Stacker.News等Nostr生态应用,实现去中心化支付能力。

收藏
7.3k
安装
1.5k
版本
v1.0.0
CLS 安全性认证2026-05-03
点击查看完整报告 >

使用说明

agent-wallet-nwc-bridge 是一个专为 Nostr 生态设计的轻量级桥接服务,基于 Node.js 开发,旨在将本地运行的 @moneydevkit/agent-wallet Lightning 钱包通过 NIP-47 协议暴露为标准的 Nostr Wallet Connect (NWC) 服务端。该技能通过 systemd 用户服务形式常驻运行,使 Stacker.News 等支持 NWC 的客户端能够安全地调用本地的 make_invoicepay_invoice 能力,实现去中心化的比特币闪电网络支付功能。

核心用法上,用户需在 Linux 环境下部署该服务,通过 npm install 安装依赖后,使用提供的 install_systemd_user.sh 脚本将服务注册为 systemd 用户单元。服务启动后,会生成本地 state.json 存储钱包连接密钥,并监听配置的 Nostr 中继(如 wss://nos.lol)等待 NWC 客户端请求。用户可为不同用途(收款/付款)生成独立的 NWC URI,并设置预算上限(budget_sats)进行权限隔离。

该技能的显著优点包括:完全自托管架构确保私钥本地留存,符合"Not your keys, not your coins"的加密精神;systemd 服务单元配置了严格的安全加固选项(NoNewPrivileges=true、PrivateTmp=true、ProtectSystem=strict),以用户级权限运行无需 root;支持通过环境变量灵活配置多中继节点和默认预算;与 Stacker.News 等主流 Nostr 应用生态无缝集成。

潜在缺点与局限性方面,该技能强制依赖 Linux systemd 环境,Windows 和 macOS 用户无法直接使用;作为 T3 来源的个人项目,长期维护稳定性不及企业级方案;依赖管理中使用 ^ 版本范围且通过 npx 动态安装 @moneydevkit/agent-wallet,存在供应链更新风险;此外,NWC 协议本身的复杂性要求用户具备一定的 Lightning Network 和 Nostr 协议知识。

适合的目标群体主要包括:运行个人 Lightning 节点并希望接入 Nostr 生态的技术用户;使用 @moneydevkit/agent-wallet 的自托管钱包用户;对中心化托管方案不信任、偏好本地密钥管理的隐私敏感型用户;以及需要将 Stacker.News 等内容平台与自有 Lightning 节点集成的内容创作者。

使用该技能可能存在的常规风险包括:state.json 文件包含 NWC 连接私钥,若未设置适当文件权限(如 chmod 600)或误提交至 Git 仓库可能导致密钥泄露;npx 动态安装依赖包虽包名固定,但仍存在供应链投毒的理论风险;预算配置不当或 URI 权限管理疏忽可能导致非预期资金支出;作为网络服务暴露在外,虽无高危漏洞但需确保 Nostr 中继连接的安全性。建议用户定期备份 state.json,并在生产环境使用前充分测试预算限制功能。

安全解读

核心用法

agent-wallet-nwc-bridge 是一个轻量级桥接工具,将本地运行的 @moneydevkit/agent-wallet Lightning 钱包暴露为符合 NIP-47 标准的 Nostr Wallet Connect (NWC) 服务端。用户通过 systemd 用户服务运行该桥接器,使外部 NWC 客户端(如 Stacker.News)能够远程执行 make_invoicepay_invoice 操作。

显著优点

1. 自托管架构:完全本地运行,私钥不出境,依赖 Nostr 中继进行加密通信而非中心化服务器
2. 权限分离设计:支持为「收款」和「付款」生成独立的 NWC URI,实现最小权限原则

3. Systemd 集成:提供完整的用户服务单元配置,包含 ProtectSystem, NoNewPrivileges 等安全加固参数

4. 代码简洁可信:仅 390 行代码,单一外部依赖 nostr-tools(Nostr 官方标准库),无已知 CVE

潜在局限与风险

  • 密钥明文存储:NWC 连接密钥以明文保存在本地 state.json,虽符合 NWC 协议设计但依赖文件系统权限保护
  • Node.js 运行时依赖:需要维护 npm 依赖更新,存在供应链攻击理论可能
  • Nostr 中继依赖:网络可用性受所选中继稳定性影响,无中继则服务中断
  • 仅支持 Linux:systemd 用户服务限制平台兼容性

适合人群

  • 已有 Lightning 节点、希望为应用(如 Stacker.News)添加 NWC 支付能力的进阶用户
  • 重视自托管和隐私,不愿使用第三方托管钱包的比特币/Nostr 社区成员
  • 具备基础 Linux 和命令行操作能力的技术用户

常规风险提示

密钥泄露风险是首要关注点——state.json 包含完整的 NWC 服务私钥,若备份至未加密存储或误提交至版本控制将导致资金风险。建议配置 chmod 600 权限并排除在备份之外。此外,NWC URI 的生成和分发需通过安全渠道,避免中间人截获。

agent-wallet-nwc-bridge 内容

手动下载zip · 9.9 kB
agent-wallet-nwc-bridge.servicetext/plain
请选择文件