Skip to main content

Module module

Module module 

Source
Expand description

Module Development APIs

Provides APIs for developing modules that extend blvm-node.

This module re-exports the necessary types and traits from blvm-node to provide a clean, developer-friendly interface for module development.

The wasm submodule (when wasm-modules is enabled) is node-independent: embedders implement WasmStorage/WasmTree to bridge to their storage.

Re-exports§

pub use bootstrap::ModuleBootstrap;
pub use bootstrap::ModuleConfig;
pub use database::open_module_db;
pub use database::run_migrations;
pub use database::run_migrations_down;
pub use database::run_migrations_with_down;
pub use database::Migration;
pub use database::MigrationContext;
pub use database::MigrationDown;
pub use database::MigrationUp;
pub use module_db::ModuleDb;
pub use runner::run_async;
pub use runner::run_module;
pub use runner::run_module_with_setup;
pub use runner::run_module_with_tick;
pub use runner::InvocationContext;
pub use storage::DatabaseStorageAdapter;
pub use storage::ModuleStorage;
pub use storage::ModuleStorageDatabaseBridge;
pub use storage::ModuleTree;
pub use ipc::protocol::*;
pub use traits::*;

Modules§

bootstrap
Module bootstrap from environment.
cli_args
CLI argument parsing and type coercion for module commands.
database
Module database utilities
ipc
IPC Communication
manifest
Module Manifest
module_db
Standard module storage API.
prelude
Prelude for module development
runner
Module runner and invocation context.
security
Module Security
storage
Module storage abstraction.
traits
Module Traits

Structs§

ModuleIpcClient
IPC client for modules to communicate with node
ModuleManifest
Module manifest (module.toml structure)
PermissionSet
Set of permissions for a module

Enums§

Permission
Permission types that modules can request