What are HyperBEAM Devices?¶
Devices are the core functional units within HyperBEAM and AO-Core. They define how messages are processed and what actions can be performed.
Each device listed here represents a specific capability available to AO processes and nodes. Understanding these devices is key to building complex applications and configuring your HyperBEAM node effectively.
Available Devices¶
Below is a list of documented built-in devices. Each page details the device's purpose, available functions (keys), and usage examples where applicable.
~message@1.0
: Base message handling and manipulation.~meta@1.0
: Node configuration and metadata.~process@1.0
: Persistent, shared process execution environment.~scheduler@1.0
: Message scheduling and execution ordering for processes.~wasm64@1.0
: WebAssembly (WASM) execution engine.~lua@5.3a
: Lua script execution engine.~relay@1.0
: Relaying messages to other nodes or HTTP endpoints.~json@1.0
: Provides access to JSON data structures using HyperPATHs.
There can exist many more devices, but these are a few of the ones that are built into HyperBEAM.
Device Naming and Versioning¶
Devices are typically referenced using a name and version, like ~<name>@<version>
(e.g., ~process@1.0
). The tilde (~
) often indicates a primary, user-facing device, while internal or utility devices might use a dev_
prefix in the source code (e.g., dev_router
).
Versioning indicates the specific interface and behavior of the device. Changes to a device that break backward compatibility usually result in a version increment.