15个不稳定版本 (5个破坏性版本)
0.6.4 | 2023年1月2日 |
---|---|
0.6.3 | 2022年12月28日 |
0.5.1 | 2022年8月15日 |
0.5.0 | 2022年7月27日 |
0.4.0 | 2021年11月17日 |
#2034 在 魔法豆
每月下载量 138次
在 farcaster_node 中使用
405KB
7.5K SLoC
Farcaster Core Library
Farcaster原子交换项目核心库旨在使用Rust实现以下功能,以构建交换节点
- 交换交易(包含启动交换所需的所有信息)
- 交换角色和交易角色(在交换过程中谁做什么)
- 实现链上行为的交易模板(仲裁引擎,例如在比特币区块链上)
- 签名和密码学工具
- ECDSA适配器签名
- 跨组离散对数证明系统
- Schnorr适配器签名
- 交换节点之间交换的消息,即对等互连消息,也称为协议消息。
文档
请查看docs.rs/farcaster_core上的此库的文档。所有可能的改进,如添加使用示例和扩展现有文档,都将非常受欢迎。
核心框架
此库的目的是双重的:提供灵活的框架以添加特定的区块链支持,并实现这些特定的区块链(目前是bitcoin和monero)。框架被拆分在crate的根模块中
blockchain
:用于声明资产/链和链上行为的通用类型和特质。consensus
:crate中所有类型的编码和解码实现,用于序列化和反序列化交换的消息。crypto
:定义密码学交互的特质和通用类型(钱包能力、提交/揭示方案、签名和密钥类型等)。trade
:处理交易设置(例如创建交易)的通用类型和工具。protocol
:与协议执行和节点之间交换的消息相关的通用类型。role
:角色定义(交易和交换)和通用框架的特质。script
:事务数据管理的泛型类型。swap
:与交换相关的类型和交换具体实例(例如 bitcoin-monero)。transaction
:构建和验证仲裁事务集的事务特性,即实现协议博弈论机制的链上引擎。
以下模块添加了区块链特定支持
bitcoin
:支持比特币,实现框架中所有必需的特性,例如Arbitrating
区块链角色。monero
:支持门罗币,实现框架中所有必需的特性,例如Accordant
区块链角色。swap/btcxmr
:定义了比特币和门罗币模块之间的交换,大多数泛型类型与固定类型相关联,并重新导出与bitcoin
和monero
关联的类型。
功能
experimental
和 taproot
功能默认启用。
- 实验性:启用实验性密码学,即未经过实战测试或同行评审,使用风险自负。
- taproot:[进行中] 启用对比特币 Taproot 链上脚本的支持,作为仲裁引擎方法。
添加区块链支持
查看 bitcoin
、monero
和 swap/btcxmr
模块以查看交换对示例。有关高级上下文的更多详细信息,请参阅 RFCs。
版本和变更日志
请参阅 CHANGELOG.md 和 RELEASING.md。
关于
这项工作是 Farcaster 跨链原子交换项目的一部分,请参阅 Farcaster 项目。
许可
本项目中的代码根据 LGPL-3.0 许可证许可。
依赖项
~19MB
~294K SLoC