22个不稳定版本 (9个破坏性版本)
新功能 0.29.2 | 2024年8月14日 |
---|---|
0.29.1 | 2024年7月23日 |
0.29.0 | 2024年6月24日 |
0.27.2 | 2024年3月12日 |
0.20.0 | 2022年10月28日 |
1 in 魔法豆
每月3,160次下载
用于 25 个包(15个直接使用)
645KB
16K SLoC
IBC模块
有关如何使用此包的详细信息,请参阅ibc-rs仓库的根目录。
跨链通信协议(IBC)模块的实现。
文档
请参阅docs.rs上的文档。
与跨链标准(ICS)的差异
此包在多个方面与ICS规范存在差异。以下为更多详细信息。
模块系统:不支持不受信任的模块
ICS 24(主机要求)规定了主机状态机必须支持的模块系统要求。
主机状态机必须支持一个模块系统,其中自包含的、可能相互不信任的代码包可以安全地在同一账本上执行 [...]。
此包目前不支持相互不信任的包。也就是说,主机状态机上的模块被认为是完全可信的。在实践中,这意味着每个模块要么是由主机状态机开发者编写的,要么已被他们彻底审查。
端口系统:不支持对象能力系统
ICS 5(端口分配)要求主机系统支持模块的对象能力引用或源验证。
在先前的对象-能力案例中,IBC 处理器必须具备生成对象能力的功能,即生成唯一的、不可见引用,这些引用可以被传递给模块,并且不会被其他模块重复。 [...] 在后者的源身份验证案例中,IBC 处理器必须具备安全地读取调用模块的源标识符的能力,这是一个在主机状态机中每个模块唯一的字符串,无法被模块本身更改或被其他模块伪造。
此软件包目前不需要主机系统的任何支持。由于假设模块是可信任的,因此无需此对象能力系统来保护可能具有恶意意图的模块的资源。
有关此问题的更多背景信息,请参阅此问题。
端口系统:转移和释放端口
ICS 5(端口分配)要求 IBC 处理器允许转移端口所有权和释放端口。
我们目前不支持这两者。
许可协议
版权所有 © 2021 Informal Systems Inc. 和 ibc-rs 作者。
根据Apache许可证版本2.0(“许可证”);除非适用法律要求或书面同意,否则不得使用此存储库中的文件,除非遵守许可证。您可以在以下位置获取许可证副本:
https://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则在许可证下分发的软件按“现状”提供,不提供任何明示或暗示的保证或条件。有关许可证的具体语言规定,请参阅许可证。
依赖项
~16–27MB
~443K SLoC