发布自定义模块

⚠️ Update Notice:

Please read Substrate to Polkadot SDK page first.


作为区块链构建者或平行链开发者,您可以访问大型的专用模块库,您可以将这些模块组合起来以自定义运行时,以满足您特定的项目目标。 要大致了解当前可用的预定义模块数量,请浏览 Substrate 的FRAME 存储库。 可用的模块选择及其解决的用例正在不断发展,其中包括许多来自社区成员的贡献。

当您开始编写自己的自定义模块来执行特定于应用程序的逻辑时,您可能会发现您的自定义逻辑会使其他团队或整个生态系统受益。 如果您有要与社区共享的自定义模块,则可以在公共论坛(例如 GitHub 或 crates.io)上发布它们。

本教程总结了发布自定义模块并将其作为开源项目供其他开发者使用的步骤。

在 GitHub 上发布

要在 GitHub 上发布您的模块:

  1. 创建 GitHub 存储库

    为存储库可见性选择公共

  2. 将模块的所有源代码推送到远程存储库。
  3. 添加一个README文件,其中描述了模块的功能和用法。
  4. 根据需要向存储库添加 LICENSE、CODE-OF-CONDUCT、CONTRIBUTING 或其他文件。

发布模块后,其他开发者可以通过在 Cargo.toml 文件中包含它来将其导入到他们的运行时中,如下所示:

  1. 打开终端 shell 并更改到节点模板的根目录。
  2. 在文本编辑器中打开 runtime/Cargo.toml 配置文件。
  3. 找到[依赖项]部分。
  4. 添加类似于以下内容的行:

    your-pallet-name = { version = "1.0.0", default-features = false, git = "https://github.com/<your-organization-name>/<your-pallet-repo-name>", branch = "<default-or-specific-branch-name" }

    如果您希望开发者使用特定的标签或提交来导入模块,则应在 README 中包含此信息。

在 crates.io 上发布

Rust 社区维护crates.io网站,允许无许可地发布任何 Rust 模块。 您可以按照他们的指南学习该过程,该指南介绍了如何在 crates.io 上发布

发布模块后,其他开发者可以通过在 Cargo.toml 文件中包含它来将其导入到他们的运行时中,如下所示:

  1. 打开终端 shell 并更改到节点模板的根目录。
  2. 在文本编辑器中打开 runtime/Cargo.toml 配置文件。
  3. 找到[依赖项]部分。
  4. 添加类似于以下内容的行:

    your-pallet-name = { version = "<compatible-version>", default-features = false }

    如果您在 crates.io 上发布模块,开发者无需指定目标目的地。 默认情况下,cargo 会在 crates.io 注册表中搜索指定的包。

下一步