显示包…

1 个稳定版本

2.0.0 2021年4月4日

#69#tetcoin

Download history 32/week @ 2024-03-15 36/week @ 2024-03-22 64/week @ 2024-03-29 30/week @ 2024-04-05 31/week @ 2024-04-12 32/week @ 2024-04-19 34/week @ 2024-04-26 27/week @ 2024-05-03 31/week @ 2024-05-10 28/week @ 2024-05-17 22/week @ 2024-05-24 20/week @ 2024-05-31 19/week @ 2024-06-07 26/week @ 2024-06-14 30/week @ 2024-06-21 12/week @ 2024-06-28

89 每月下载次数
10 包中使用 (2 个直接使用)

Apache-2.0

1MB
24K SLoC

sudo 模块

概述

Sudo 模块允许单个账户(称为“sudo 密钥”)执行需要 Root 调用的可调派函数或指定新账户以替换它们作为 sudo 密钥。一次只能有一个账户可以作为 sudo 密钥。

接口

可调派函数

只有 sudo 密钥可以调用 Sudo 模块中的可调派函数。

  • sudo - 对可调派函数执行 Root 调用。
  • set_key - 分配新账户作为 sudo 密钥。

用法

执行特权函数

Sudo 模块本身不打算在其他模块中使用。相反,您可以在其他模块中构建“特权函数”(即需要 Root 原始的函数)。您可以通过使用 sudo 密钥账户调用 sudo 来执行这些特权函数。特权函数不能直接通过外联执行。

有关特权函数和 Root 原始的更多信息,请参阅 Origin 类型文档。

简单代码片段

这是一个公开特权函数的模块的示例

use fabric_support::{decl_module, dispatch};
use fabric_system::ensure_root;

pub trait Config: fabric_system::Config {}

decl_module! {
    pub struct Module<T: Config> for enum Call where origin: T::Origin {
		#[weight = 0]
        pub fn privileged_function(origin) -> dispatch::DispatchResult {
            ensure_root(origin)?;

            // do something...

            Ok(())
        }
    }
}

创世配置

Sudo 模块依赖于 GenesisConfig。您需要将初始超级用户账户设置为 sudo key

许可证:Apache-2.0

依赖项

~3–12MB
~134K SLoC