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::Migration;
pub use database::MigrationContext;
pub use database::MigrationDown;
pub use database::MigrationUp;
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 module_db::ModuleDb;
pub use runner::InvocationContext;
pub use runner::run_async;
pub use runner::run_module;
pub use runner::run_module_with_setup;
pub use runner::run_module_with_setup_and_api;
pub use runner::run_module_with_tick;
pub use storage::DatabaseStorageAdapter;
pub use storage::ModuleStorage;
pub use storage::ModuleStorageDatabaseBridge;
pub use storage::ModuleTree;
pub use timers::Exec;
pub use timers::TimerBuilder;
pub use timers::TimerHandle;
pub use timers::TimerRegistry;
pub use timers::sdk_tick_spec;
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.
timers
Module-side timer registry.
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