RGB 协议 v0.11.1 更新:核心库去掉 RC 标签

RGB 协议标志位于标题「RGB Protocol v0.11.1 update: Core Libraries Drop the RC Tag」上方,下方是一个插画风格的车间,工程师们正在组装并检查一辆由红、绿、蓝部件构成的赛车

RGB 协议 v0.11.1 由多个开源代码库构建而成,软件开发者用这些库来发行资产、构建钱包和验证交易。 其中五个核心库现已打上 v0.11.1 标签,去掉了整个 RC 周期中一直带着的候选发布版本后缀;同一天,三个配套库也更新了各自文档的构建方式。

要点速览

RGB 协议 v0.11.1 有哪些变化?

这五个库,正是目前在主网上运行 RGB 协议的那些库。软件项目通常会先发布一系列「候选发布版本」(带有 -rc 后缀和编号的测试版本),最后才发布一个其他开发者可以放心使用的版本。在最近的候选发布周期中,这五个库的版本标签一直带着这个后缀;自 2026 年 9 月 16 日起,五个库都改为使用不带 -rc 的正式 0.11.1 标签

同一天,三个配套库更新了各自文档的构建方式,其中两个库在 docs.rs 上的文档构建问题也得到了修复。

更新了什么?

三个配套库的文档构建更新

RGB 的代码库使用 Rust 编写,其参考文档会自动发布在 docs.rs 上——这是一个直接根据源代码生成文档的网站。

rgb-strict-encodingrgb-ascii-armorrgb-strict-types 发布了 1.0.3 版本,调整了文档的构建方式。然而,它们的文档在 docs.rs 上仍然构建失败:在 rgb-strict-encodingrgb-strict-types 中,docs.rs 的配置会把一个额外的构建参数应用到它们的每一个依赖项上,导致依赖链更下游的构建失败。

因此,1.0.4 版本移除了这个参数,并调整了项目自动化流水线中文档的构建方式。现在,rgb-strict-encodingrgb-strict-types 的文档已经重新出现在 docs.rs 上。 rgb-ascii-armor 1.0.4 则引入了修复后的 rgb-strict-encoding,并采用了同样的流水线调整。

通俗地说: docs.rs 在发布一个库的文档之前,必须先按照该库提供的额外指令编译它的代码。这一次,其中一条指令超出了库本身的范围,延伸到了依赖链中的每一个外部库。一个位于好几层之下的密码学库在这条指令下无法编译,于是整个构建失败,文档也就无法显示。现在,这个问题已经解决。

五个核心库打上正式的 v0.11.1 标签

rgb-aluvmrgb-consensusrgb-opsrgb-schemasrgb-api 都在 9 月 16 日打上了 0.11.1 标签,去掉了此前一直带着的候选发布版本后缀。除了版本标签本身,其中一些库在内部也有变化:

  • rgb-aluvm 是 RGB 用来运行和检查合约逻辑的虚拟机。它移除了一项功能和一个指令集,这两者实际上并不可用,一旦被触发还可能导致程序崩溃。它还移除了三个不再需要的外部代码库(pastecurve25519-dalekgetrandom)。
  • rgb-ops 改变了通过 Esplora(一个比特币区块链查询服务)查询见证交易的方式。见证交易是关闭一次性密封条、并携带 RGB 操作承诺的比特币交易。现在每笔交易只需发送一次请求,而不是两次,在同一次调用中同时检查交易本身及其是否已确认。如果请求返回的数据格式错误,或者报告的确认高度为零(这不是一个有效值),该库现在会明确将其标记为错误。这项修复由 @Jainakin 贡献。
  • rgb-aluvmrgb-consensusrgb-ops,负责把数据转换为可存储、可在网络上传输的格式的代码,改为依赖 rgb-strict-encoding 自带的工具,而不再依赖另一个外部库;同时还应用了针对 docs.rs 的文档构建修复。rgb-aluvmrgb-consensus,密码学库 secp256k1 升级到了 0.33.1五个库现在都在自动化流水线中使用与 docs.rs 相同的配置来构建文档。
  • 每个库也把内部依赖更新到了新版本:所依赖的其他核心库现在指向 0.11.1,配套库则指向 1.0.4。
  • 五个代码库还更新了各自的安全策略文档。

这些变更落在哪些代码库?

比特币上的 RGB 协议的核心库在 github.com/rgb-protocol 下维护,每个库各司其职:

是否应该升级?

任何基于比特币上的 RGB 协议进行构建的人,都应该升级到新版本rgb-aluvmrgb-consensusrgb-opsrgb-schemasrgb-api 升级到 0.11.1;rgb-strict-encodingrgb-ascii-armorrgb-strict-types 升级到 1.0.4。

为什么去掉 -rc 后缀很重要?

Rust 开发者使用一个名为 Cargo 的工具来下载项目所需的库。Cargo 会把带有 -rc 标记的版本视为测试版本,除非按完整名称明确指定,否则会跳过它们。 在这次发布之前,如果开发者只是简单地写上 rgb-consensus = "0.11.1",就会收到报错,因为当时还不存在这个不带后缀的版本号;要使用这个库,必须写出完整的测试版本名称 rgb-consensus = "0.11.1-rc.11"现在正式的 0.11.1 标签已经发布,这种简单的写法就能正常工作了。

随着 1.0.4 版本的发布,rgb-strict-encodingrgb-strict-types 的文档也重新出现在 docs.rs 上。

比特币上的 RGB 协议正在积极开发中

上述这类更新,都是 RGB 协议库持续、公开工作的一部分。代码、提交历史和公开的 issue,对任何想看的人都是可见的。对该协议感兴趣的外部开发者,欢迎查看本次变更所在的代码库——rgb-aluvmrgb-ops——并参与贡献。

任何形式的参与都很有价值,无论是报告问题、提出代码修改建议,还是只是关注协议的演进。

在哪里可以找到代码

RGB 的开源代码主要分布在两个 GitHub 组织中:

  • rgb-protocol 托管核心协议库,包括本次更新的五个库,以及三个配套库。
  • RGB-Tools 托管构建在这些库之上的更高层工具,例如用于钱包开发的 rgb-lib,以及用于在闪电网络上使用 RGB 资产的 rgb-lightning-node

延伸阅读

类似文章