#module #fedimint #lightning #e-cash #mint #bitcoin #federation

fedimint-mint-client

fedimint-mint 是一个 Chaumian 电子现金铸造模块

39 个版本

0.4.0 2024 年 8 月 5 日
0.4.0-rc.42024 年 7 月 26 日
0.3.3 2024 年 7 月 25 日
0.3.0-rc.32024 年 3 月 26 日
0.2.0-rc32023 年 11 月 29 日

1682魔法豆

Download history 243/week @ 2024-04-17 144/week @ 2024-04-24 98/week @ 2024-05-01 415/week @ 2024-05-08 138/week @ 2024-05-15 189/week @ 2024-05-22 194/week @ 2024-05-29 244/week @ 2024-06-05 109/week @ 2024-06-12 60/week @ 2024-06-19 154/week @ 2024-06-26 127/week @ 2024-07-03 94/week @ 2024-07-10 535/week @ 2024-07-17 310/week @ 2024-07-24 344/week @ 2024-07-31

1,286 每月下载量
9 个 crate(6 个直接) 中使用

MIT 许可证

1MB
25K SLoC

Fedimint

GitHub Actions CI Build Status Developer Discord Chat GitHub Discussion docs built from master Lines of code

Fedimint 是一个基于模块的系统,用于构建联邦应用。它旨在成为一个最小化信任、抗审查和私有的集中式应用的替代品。

Fedimint 是在 MIT 许可证 下发布的 alpha 软件这意味着软件提供“原样”,不提供任何类型的保证。我们是一个资源有限的小型开发团队。如果您因本软件中的错误导致资金损失,我们可能无法帮助您恢复资金。我们建议您在 mutinynet 等测试网上运行 Fedimint,或在主网上使用少量资金运行。您可以在 这里 找到我们的最新版本。

Fedimint 随附 3 个默认模块 - BitcoinLightningChaumian Ecash - 以提供开箱即用的最佳实践,用于私有和最小化信任的支付。您可以 编写自定义模块,这些模块定义了更多的共识项目和交易类型,利用支付模块构建您自己的联邦应用。

Fedimint 开发者 Discord 是获取帮助和提问的最佳场所。加入 Discord 并打个招呼!我们非常活跃,致力于帮助所有技能水平的开发者加入 Fedimint 以及相关的开源比特币项目。Fedimint 涉及比特币开发的许多不同领域,所以总有一款适合你。下面提供更多关于如何参与的信息。

运行您的 Fedimint

设置和运行您自己的联盟非常简单。Fedimint 被设计成 拜占庭容错,因此对联盟中的 m 个恶意节点具有强大的抵抗力。如果您运行一个由 4 个守护者组成的联盟,您将能够抵御 1 个恶意守护者;如果您运行一个由 7 个守护者组成的联盟,您将能够抵御 2 个守护者,等等。

Fedimint 还可以以“单机模式”运行,使用单个守护者。这对于测试和开发非常有用,但不建议用于生产环境。

要进行闪电支付,Fedimint 需要 闪电网关:一个愿意交换 ecash 以发送/接收闪电支付的用户。闪电网关不是守护者,而是一个为联盟服务的未信任经济参与者。

在 Mutinynet 上运行 Fedimint

请参阅 Fedimint Mutinynet 安装指南。您可以根据需要修改配置选项。

针对开发者

我们正在积极寻找开发者来帮助构建 Fedimint 以及相关的开源比特币项目。Fedimint 涉及比特币开发的许多不同领域,所以总有一款适合你。开始的最佳地点是

  • Fedimint 开发者 Discord:获取帮助和提问的最佳场所。
  • Fedimint 技术参考文档
  • Fedimint 贡献者日历:此日历包含所有开发者会议和活动。
  • Fedimint 开发者会议:我们每周一 4PM UTC 进行开发者会议,以审查 PR 并讨论当前的开发优先事项。作为一名新开发者,这是一个找到好问题并获得核心团队关于如何开始为 Fedimint 贡献指导的好地方。
  • PR 审查俱乐部:我们每周二 4PM UTC 进行 PR 审查会议。
  • 每周深入研究:我们每周四 4PM UTC 进行深入讨论,讨论与 Fedimint 相关的技术主题:密码学、Rust 编程、共识、网络等。这是一个了解 Fedimint 和比特币内部的好地方。我们通常根据贡献者对 Fedimint 想要了解更多方面的请求来计划这些会议,所以如果您有任何想要深入了解的主题,请与我们联系。

有关贡献指南、贡献领域以及如何参与,请参阅 贡献指南

Fedimint 仓库和可贡献的项目

  • Fedimint:核心 Fedimint 仓库。这里是核心共识和网络代码的所在地。Fedimint 是一个高级 Rust 项目,是学习 Rust、密码学、网络、共识和比特币开发的好地方。我们有大量好问题,愿意指导新开发者,并始终寻找有经验的 Rust 开发者来帮助核心代码库。
  • UI:默认的 Fedimint 守护者和闪电网关 UI。这些都是 TypeScript 和 React 项目。为这个仓库贡献力量有助于 UI/UX 设计和开发,使 Fedimint 更加用户友好。
  • 闪电网关:Fedimint 的闪电网关作为 HTLC 中断器实现,目前与 CLN、LND 以及 LDK 的 sample-node 实现兼容。我们一直在寻找闪电开发者来帮助改进闪电网关,特别是在提高支付可靠性和添加更多闪电实现的支持方面。
  • 自定义模块:Fedimint 预装了 3 个默认模块:比特币、闪电和 Chaumian Ecash。你可以编写自定义模块来定义更多的共识项目和交易类型,利用支付模块来构建自己的联邦应用程序。我们一直在寻找开发者来帮助我们构建自定义模块并改进模块系统。

启动 Fedimint 开发环境

Fedimint 是一个 Rust 项目,使用 Nix 包管理器 来管理依赖项和构建项目。

本地开发

关于如何使用 cli 发送/接收 Ecash、闪电支付以及执行其他开发操作的详细教程,请参阅 Fedimint 开发者教程

Fedimint 的开发环境和 Rust 构建管道通过 Nix Flakebox 管理。要开始,请安装 Nix。

curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install

然后 Fork 并 Clone Fedimint 仓库。

git clone https://github.com/your-username/fedimint.git

然后进入 Nix 开发环境。

nix develop

使用此命令启动本地 regtest 网络,包含 4 个守护者、一个比特币节点和一个闪电网关。

just mprocs

然后您可以使用 cli 与守护者和闪电网关进行交互。有关如何使用 cli 的更多详细信息,请参阅 Fedimint 开发者教程

如果您想运行带有 UI,请参阅 UI 仓库中的开发环境说明。

维护者

领域 主要维护者 共同维护者 状态
项目负责人 @elsirion @dpc @joschisan X
核心服务器 @joschisan X 大部分已良好分解,没有已知问题
核心共识 @joschisan @bradleystachurski 已完善并添加了文档
闪电模块 @joschisan @m1sterc001guy 活跃开发,存在已知问题
铸造模块 @joschisan X 活跃开发,存在已知问题
钱包模块 @bradleystachurski @dpc @joschisan 活跃开发,存在关键问题
核心客户端 @dpc X X
闪电网关 @m1sterc001guy @joschisan X
数据库 @m1sterc001guy X X
网络 X X X
CI / Nix @dpc @maan2003 @bradleystachurski X
测试 @bradleystachurski X X
Devimint @maan2003 X X
配置生成 X X X

依赖项

~65MB
~1M SLoC