显示软件包…

1 个稳定版本

2.0.0 2021 年 4 月 4 日
0.0.0 2021 年 3 月 12 日

#1#tetcore

Download history 139/week @ 2024-03-11 163/week @ 2024-03-18 258/week @ 2024-03-25 259/week @ 2024-04-01 110/week @ 2024-04-08 170/week @ 2024-04-15 168/week @ 2024-04-22 152/week @ 2024-04-29 190/week @ 2024-05-06 148/week @ 2024-05-13 116/week @ 2024-05-20 138/week @ 2024-05-27 115/week @ 2024-06-03 112/week @ 2024-06-10 107/week @ 2024-06-17 176/week @ 2024-06-24

512 次每月下载
用于 71 软件包(59 个直接使用)

Apache-2.0

1MB
24K SLoC

系统模块

系统模块提供了对核心类型和跨切工具的底层访问。它是其他贵族与 Tetcore 框架组件交互的基础层。

概述

系统模块定义了 Tetcore 运行时使用的核心数据类型。它还提供了几个实用函数(见 Module)供其他 FABRIC 贵族使用。

此外,它管理外联数据、索引、事件记录和摘要项等存储项,以及其他支持当前块执行的事物。

它还处理一些底层任务,如记录存档、临时存储条目的基本设置和拆卸,以及对前一个区块哈希的访问。

接口

可调用的函数

系统模块不实现任何可调用的函数。

公共函数

有关公开可用函数的详细信息,请参阅 Module 结构。

签名扩展

系统模块定义了以下扩展

  • CheckWeight:检查块的大小和长度,并确保不超过限制。
  • CheckNonce:检查事务的随机数。包含单个类型为 T::Index 的有效载荷。
  • CheckEra:检查交易的时期。包含一个类型为 Era 的单一有效负载。
  • CheckGenesis:检查提供的交易创世哈希。必须是交易已签名有效负载的一部分。
  • CheckSpecVersion:检查运行时版本是否与用于签名交易的版本相同。
  • CheckTxVersion:检查交易版本是否与用于签名交易的版本相同。

查找运行时聚合器文件(例如 node/runtime),查看链中包含的完整已签名扩展列表。

用法

先决条件

导入系统模块,并将您的模块配置特从未签名trait派生。

示例 - 获取当前块的交易数量和父哈希

use fabric_support::{decl_module, dispatch};
use fabric_system::{self as system, ensure_signed};

pub trait Config: system::Config {}

decl_module! {
	pub struct Module<T: Config> for enum Call where origin: T::Origin {
		#[weight = 0]
		pub fn system_module_example(origin) -> dispatch::DispatchResult {
			let _sender = ensure_signed(origin)?;
			let _extrinsic_count = <system::Module<T>>::extrinsic_count();
			let _parent_hash = <system::Module<T>>::parent_hash();
			Ok(())
		}
	}
}

许可证:Apache-2.0

依赖项

~3–11MB
~119K SLoC