18 个版本 (10 个破坏性更新)
0.14.1 | 2024 年 7 月 17 日 |
---|---|
0.13.0 | 2024 年 4 月 4 日 |
0.12.0 | 2024 年 3 月 1 日 |
0.11.0 | 2023 年 12 月 30 日 |
0.10.0 | 2023 年 11 月 27 日 |
#46 在 #tendermint
每月下载量 4,337
在 ibc-types 中使用
415KB
9K SLoC
ibc-types
此包定义了 Inter-Blockchain Communication (IBC) 消息的常见数据结构,这些数据结构可以被不同的 IBC 实现或 IBC 生态系统工具重用。
与提供特定和有见地的 IBC 实现的 ibc-rs 不同,ibc-types
只定义了允许处理 IBC 消息的 Rust 类型,允许在通用语言的基础上构建 IBC 实现或 IBC 生态系统工具。
除了定义 IBC 消息的 Rust 类型外,ibc-types
还定义了 IBC 事件的 Rust 类型,并提供了解析 IBC 事件到和从 ABCI 消息的代码。IBC 事件实际上是 IBC 的关键部分,因为它们需要与中继程序进行互操作,但并未在任何地方进行规范。在 ibc-types
中提供事件解析代码允许 IBC 实现和中继程序实现共享用于生成和消费事件的共同代码。
ibc-types
包是一个顶级包装包,重新导出 IBC 模块范围内子包的内容。这种结构意味着库的外部用户可以使用一个总包,但允许不同 IBC 模块之间的依赖关系。例如,ibc-types
包重新导出在 ibc-types-core-client
包中定义的客户类型,以及定义在 ibc-types-lightclients-tendermint
包中的 Tendermint 轻量级客户端类型。但由于这些是独立的包,Tendermint 轻量级客户端类型可以依赖于核心 IBC 客户端类型,从而防止循环依赖问题。
贡献
IBC 以英文形式指定在 cosmos/ibc 仓库 中。任何协议变更或说明都应该贡献在那里。
此仓库包含建模 IBC 消息的 Rust 数据类型。
版本控制
我们遵循语义化版本控制,尽管API仍在积极开发中。
资源
许可证
版权 © 2023 ibc-types作者。
此crate最初是从ibc-rs分支出来的。
版权 © 2022 Informal Systems Inc.和ibc-rs作者。
遵循Apache License,版本2.0(以下简称“许可证”);除非适用法律要求或书面同意,否则不得在违反许可证的情况下使用本存储库中的文件。您可以在以下位置获取许可证副本:
https://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则根据许可证分发的软件按“原样”分发,不提供任何明示或暗示的保证或条件。有关许可证中规定的具体语言、许可权限和限制,请参阅许可证。
依赖项
~16–28MB
~458K SLoC