crates.io  TinyGo Version

wasmCloud Number Generator Interface

This is the interface definition for the wasmCloud built-in interface that is guaranteed to be supported by all runtime hosts, wasmcloud:builtin:numbergen. The number generator interface provides for the creation of things like random numbers, random numbers within a given range, and globally unique identifiers (GUIDs).

Capability Provider Implementations

There are no external implementations of this provider as all implementations of the wasmcloud:builtin:numbergen contract are built directly into the host runtime(s).

This interface defines the wasmCloud built-in logging interface that comes with each of our supported host runtimes. Actors that use this interface must have the capability contract wasmcloud:builtin:numbergen in their claims list (wash claims sign --cap wasmcloud:builtin:numbergen).

Example Usage (🦀 Rust)

```rust use wasmbusrpc::actor::prelude::*; use wasmcloudinterfacelogging::info; use wasmcloudinterfacenumbergen::{generateguid, random32, randomin_range};

async fn generaterandom() -> Result<(), RpcError> { // Generate a Globally Unique ID (GUID) let guid: String = generateguid().await?; info!("Generated GUID: {}", guid); // Generate a random u32 let randomnum: u32 = random32().await?; info!("Generated number: {}", randomnum); // Generate a random u32 within an inclusive range let randomrange: u32 = randominrange(0, 55).await?; info!("Generated number between 0 and 55: {}", random_range); Ok(()) } ```