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

no-std ibc-types-core-client

用于跨链通信(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日

#43 in #tendermint

Download history 851/week @ 2024-04-18 1167/week @ 2024-04-25 791/week @ 2024-05-02 969/week @ 2024-05-09 522/week @ 2024-05-16 954/week @ 2024-05-23 952/week @ 2024-05-30 892/week @ 2024-06-06 1057/week @ 2024-06-13 696/week @ 2024-06-20 886/week @ 2024-06-27 811/week @ 2024-07-04 1131/week @ 2024-07-11 1269/week @ 2024-07-18 1144/week @ 2024-07-25 1075/week @ 2024-08-01

4,783 monthly downloads
5 crates 中使用

Apache-2.0

98KB
1.5K SLoC

ibc-types

此crate定义了跨链通信(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 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 作者。

此crate最初是从ibc-rs分叉而来

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

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

https://www.apache.org/licenses/LICENSE-2.0

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

依赖项

~15MB
~310K SLoC