#memory-pool #transaction #solution #open #otx #extensible #ckb

app open-transaction-pool

开放事务池是一个基于内存池的可扩展OTX解决方案

1 个不稳定版本

0.1.0 2023年6月16日

713内存管理

MIT 许可证

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