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).
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
).
```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(()) } ```