#ibc #consensus #tendermint #cosmos #blockchain #data-structures

无 std ibc-types-core-connection

用于跨链通信(IBC)协议的数据类型。此包定义了不同IBC实现或生态系统工具可以重用的通用数据结构

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日

#42#tendermint

Download history 847/week @ 2024-04-18 1162/week @ 2024-04-25 789/week @ 2024-05-02 963/week @ 2024-05-09 518/week @ 2024-05-16 951/week @ 2024-05-23 948/week @ 2024-05-30 891/week @ 2024-06-06 1056/week @ 2024-06-13 684/week @ 2024-06-20 886/week @ 2024-06-27 813/week @ 2024-07-04 1126/week @ 2024-07-11 1243/week @ 2024-07-18 1023/week @ 2024-07-25 1072/week @ 2024-08-01

4,628 每月下载量
用于 4 crates

Apache-2.0

220KB
4K SLoC

ibc-types

此包定义了跨链通信(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许可证2.0版本(“许可证”)下发布;除非适用法律要求或书面同意,否则不得使用本存储库中的文件,除非遵守许可证。您可以在以下位置获取许可证副本:

https://apache.ac.cn/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”基础分发,不提供任何形式的明示或暗示保证。有关许可证的具体语言,请参阅许可证,以了解对许可权和限制的规范。

依赖项

约15-26MB
约431K SLoC