#polkadot #pallet #extension #payment #skip #substrate #feeless

无 std pallet-skip-feeless-payment

如果满足相应条件,则跳过用 feeless_if 注释的调用费用的 Pallet。 (polkadot v1.15.0)

12 个主要版本更新

12.0.0 2024年7月18日
11.0.0 2024年7月12日
10.0.0 2024年6月21日
9.0.0 2024年5月23日
0.0.0 2023年11月14日

#394 in 魔法豆

Download history 23/week @ 2024-04-10 93/week @ 2024-04-24 53/week @ 2024-05-01 1/week @ 2024-05-15 157/week @ 2024-05-22 1/week @ 2024-05-29 7/week @ 2024-06-05 9/week @ 2024-06-12 134/week @ 2024-06-19 6/week @ 2024-06-26 93/week @ 2024-07-10 114/week @ 2024-07-17 8/week @ 2024-07-24

215 每月下载量
polkadot-sdk 中使用

GPL-3.0-only

2MB
35K SLoC

SDK Logo SDK Logo

Polkadot SDK

GitHub stars  GitHub forks

StackExchange  GitHub contributors  GitHub commit activity

GitHub代码行数   GitHub最新提交

Polkadot SDK 仓库提供了构建 Polkadot 网络所需的所有组件,Polkadot 网络是一个多链区块链平台,它使不同的区块链能够以安全、可扩展的方式互操作和共享信息。

📚 文档

🚀 发布

[!NOTE] 我们的发布流程仍在进行中,可能尚未反映此处期望的轮廓。

Polkadot-SDK 有两个发布渠道:`stable` 和 `nightly`。建议生产软件仅使用 `stable`。`nightly` 适用于尝试最新功能的开发者。详细的发布流程在 `RELEASE.md` 中描述。

您可以使用 `psvm` 来管理您的 Polkadot-SDK 依赖版本在下游项目中。

😌 稳定版

`stable` 版本的支持周期为 `三个月`。在此期间,发布将不会有任何破坏性更改。它将每两周进行一次错误修复、安全修复、性能修复和新非破坏性功能更新。

🤠 夜间版

`nightly` 版本每晚从 `master` 分支发布,可能包含破坏性更改。它们具有预发布版本号,格式为 `major.0.0-nightlyYYMMDD`。

🛠️ 工具

Polkadot SDK 版本管理器:一个简单的工具,用于管理任何 Cargo.toml 文件中的 Polkadot SDK 依赖。它将自动将 Polkadot SDK 依赖更新到正确的 crates.io 版本。

🔐 安全

安全策略和程序可在 `docs/contributor/SECURITY.md` 中找到。

🤍 贡献 & 行为准则

确保您遵循我们的 `贡献指南`。在每个互动和贡献中,本项目都遵守 `贡献者行为准则`。

👾 准备贡献?

查看带有 `mentor` 标签的问题(或另请参阅由维护者之一创建的此页面,即 `this` 页面),以开始贡献!我们始终通过向 Polkadot 网络提出链上小费作为感谢来认可有价值的贡献。

Polkadot 学院

本仓库的开发通常与 fellowship 组织同步进行。简而言之,此仓库提供了构建 Polkadot 及其平行链所需的所有 SDK 组件。但是,实际的 Polkadot 运行时位于 fellowship/runtimes 仓库中。有关 fellowship、这种分离以及 RFC 流程的更多信息,请参阅此处

历史

此仓库是 3 个独立仓库的融合,这些仓库曾经构成 Polkadot SDK,即 Substrate、Polkadot 和 Cumulus。有关合并及其历史的更多信息,请参阅此处


lib.rs:

跳过无费支付模块

此模块允许包含它的运行时跳过对标记为 #[pallet::feeless_if] 的可调用的交易费用的支付。

概述

它通过包装现有的 SignedExtension 实现(例如 pallet-transaction-payment)并在应用包装的扩展之前检查可调用是否无费来实现。如果可调用确实是无费的,则跳过扩展并发出自定义事件。否则,像往常一样应用扩展。

集成

此模块包装了一个现有的交易支付模块。这意味着您应该在您的 construct_runtime 宏中同时使用这两个模块,并包含此模块的 SignedExtension(《SkipCheckIfFeeless》),该扩展将接受现有的一个作为参数。

依赖项

~18–33MB
~550K SLoC