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

无 std ibc-types-core-commitment

用于跨链通信(IBC)协议的数据类型。此crate定义了可由不同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日

#49#tendermint

Download history 990/week @ 2024-05-05 682/week @ 2024-05-12 783/week @ 2024-05-19 809/week @ 2024-05-26 1024/week @ 2024-06-02 987/week @ 2024-06-09 749/week @ 2024-06-16 879/week @ 2024-06-23 873/week @ 2024-06-30 668/week @ 2024-07-07 1452/week @ 2024-07-14 1190/week @ 2024-07-21 1148/week @ 2024-07-28 815/week @ 2024-08-04 695/week @ 2024-08-11 1083/week @ 2024-08-18

每月下载量:3,779
用于 5 个crate(直接使用4个)

Apache-2.0

64KB
687 代码行

ibc-types

此crate定义了跨链通信(IBC)消息的通用数据结构,这些结构可以被不同的IBC实现或IBC生态系统工具重用。

ibc-rs不同,后者提供了一个特定且具有见解的IBC实现,而ibc-types仅定义允许处理IBC消息的Rust类型,从而允许在通用语言的基础上构建IBC实现或IBC生态系统工具。

除了定义IBC消息的Rust类型外,ibc-types还定义了IBC事件的Rust类型,并提供了将IBC事件解析为和从ABCI消息解析的代码。IBC事件实际上是IBC的一个关键部分,因为它们需要与中继器交互,但实际上并未在任何地方进行详细说明。在ibc-types中提供事件解析代码允许IBC实现和中继器实现共享用于生成和消费事件的通用代码。

ibc-types crate是一个顶层包装crate,重新导出由IBC模块范围限定的子crate的内容。这种结构意味着库的外部用户可以使用一个通用的crate,但允许不同IBC模块之间存在依赖关系。例如,ibc-types crate重新导出了在ibc-types-core-client crate中定义的客户类型,以及由ibc-types-lightclients-tendermint crate定义的Tendermint轻客户端类型。但由于这些都是独立的crate,Tendermint轻客户端类型可以依赖于核心IBC客户端类型,从而防止循环依赖问题。

贡献

IBC在cosmos/ibc仓库中以英文进行说明。任何协议更改或说明都应该贡献那里。

此仓库包含模型IBC消息的Rust数据类型。

版本

我们遵循语义版本控制,尽管API仍在积极开发中。

资源

许可证

版权 © 2023 ibc-types 作者。

此包最初是从ibc-rs分支的。

版权 © 2022 Informal Systems Inc. 和 ibc-rs 作者。

根据Apache License,版本2.0(“许可证”)许可;除非适用法律要求或经书面同意,否则不得使用此存储库中的文件,除非遵守许可证。您可以在以下位置获得许可证副本:

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

除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”基础分发,不提供任何明示或暗示的保证或条件。有关许可证的特定语言、权限和限制,请参阅许可证。

依赖项

~15–26MB
~444K SLoC