显示软件包…
1 个稳定版本
2.0.0 | 2021年4月4日 |
---|---|
0.0.0 |
|
#32 在 #tetcoin
94 每月下载量
在 13 个软件包中使用了 (3 个直接使用)
1.5MB
25K SLoC
执行模块
执行模块作为运行时的协调层。它将传入的外部调用分配给运行时中相应的模块。
概述
执行模块不是一个典型的贵族,它围绕特定功能提供功能。它是 FABRIC 的跨切面框架组件。它与 FABRIC 系统模块 协同工作以执行这些跨切面功能。
执行模块提供以下功能
- 检查交易的有效性。
- 初始化一个区块。
- 应用外部交易。
- 执行一个区块。
- 最终化一个区块。
- 启动一个链下工作线程。
实现
执行模块提供以下实现
ExecuteBlock
:可以用来执行区块的特质。Executive
:可以用来使 FABRIC 在运行时可用的一种类型。
用法
默认 Tetcore 节点模板在其库中声明了 Executive
类型。
示例
节点模板中的 Executive
类型声明。
#
/// Executive: handles dispatch to the various modules.
pub type Executive = executive::Executive<Runtime, Block, Context, Runtime, AllModules>;
自定义 OnRuntimeUpgrade
逻辑
您可以在运行时升级时调用自定义逻辑。这是通过设置一个可选泛型参数来完成的。自定义逻辑将在调用所有模块的运行时升级逻辑之前被调用。
#
struct CustomOnRuntimeUpgrade;
impl fabric_support::traits::OnRuntimeUpgrade for CustomOnRuntimeUpgrade {
fn on_runtime_upgrade() -> fabric_support::weights::Weight {
// Do whatever you want.
0
}
}
pub type Executive = executive::Executive<Runtime, Block, Context, Runtime, AllModules, CustomOnRuntimeUpgrade>;
许可证:Apache-2.0
依赖
~3–12MB
~135K SLoC