1 个不稳定版本
0.1.0 | 2023年6月16日 |
---|
713 在 内存管理
150KB
3K SLoC
CKB开放事务池
关于CKB开放事务
CKB开放事务 (OTX) 是一种可扩展的事务格式和工作流引擎,它支持将多个部分签名OTX或多签名OTX离链组合,以构建CKB事务。
与RFC 0022-transaction-structure 中描述的CKB事务格式相比,OTX可以携带更多辅助信息,以描述它如何被聚合为完整CKB事务。
该项目是一个基于内存池的可扩展OTX解决方案。我们在不同的应用场景中开发了几个用例,使解决方案可重用且多功能,这有助于dApps的二次开发。
设计理念
我们认为最佳架构涉及将OTX作为数据流进行处理。这种架构使用Broker收集OTX并将它们调度到Agent。
Agent既充当消费者又充当生产者。它从Broker接收OTX,执行其逻辑,并将处理结果通知Broker。
该项目是这个设计概念的实现。它使用内存池作为Broker,并将插件作为Agent来扩展其应用业务逻辑。
开放事务锁定脚本
开放事务需要相应的锁定脚本的支持,该脚本应遵循RFC:可组合开放事务锁定脚本。遵循此RFC的锁定脚本可以支持事务的部分签名,为后续的聚合提供便利并降低交互成本。
该项目中使用的锁定脚本由Omni锁定脚本提供。我们还利用了CKB SDK,它已经开始支持此锁定脚本。
文档
集成测试
集成测试子项目 integration-tests 提供了各种应用 OTX 的场景,有助于理解该项目。
集成测试的 README 概述了如何构建本地开发环境。
现有的场景应用案例包括
感谢您对开源社区的贡献!
依赖项
约 30-47MB
约 660K SLoC