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

no-std ibc-types-timestamp

Inter-Blockchain Communication (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 月 15 日
0.10.0 2023 年 11 月 27 日

#48#tendermint

Download history 865/week @ 2024-04-18 1172/week @ 2024-04-25 797/week @ 2024-05-02 972/week @ 2024-05-09 526/week @ 2024-05-16 960/week @ 2024-05-23 958/week @ 2024-05-30 898/week @ 2024-06-06 1068/week @ 2024-06-13 686/week @ 2024-06-20 890/week @ 2024-06-27 818/week @ 2024-07-04 1153/week @ 2024-07-11 1267/week @ 2024-07-18 1040/week @ 2024-07-25 1081/week @ 2024-08-01

4,705 每月下载次数
7 个软件包中使用了 (6 个直接使用)

Apache-2.0

22KB
232

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 作者。

此存储库最初是从 ibc-rs 分支出来的

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

在Apache许可证2.0版本(“许可证”)下授权;除非适用法律要求或书面同意,否则不得在不符合许可证的情况下使用本存储库中的文件。您可以在以下位置获取许可证副本:

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

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

依赖项

~5-16MB
~214K SLoC