#tetcoin #framework #blockchain #crypto

no-std fabric-executive

FABRIC 执行引擎

显示软件包…

1 个稳定版本

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

#32#tetcoin

Download history 27/week @ 2024-03-14 33/week @ 2024-03-21 64/week @ 2024-03-28 45/week @ 2024-04-04 26/week @ 2024-04-11 40/week @ 2024-04-18 33/week @ 2024-04-25 29/week @ 2024-05-02 35/week @ 2024-05-09 26/week @ 2024-05-16 20/week @ 2024-05-23 25/week @ 2024-05-30 24/week @ 2024-06-06 19/week @ 2024-06-13 29/week @ 2024-06-20 17/week @ 2024-06-27

94 每月下载量
13 个软件包中使用了 (3 个直接使用)

Apache-2.0

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