Usage
Build a module#
- Use the
#[holium_bindgen]procedural macro on every public functions and structures that should be exported. - Compile using
cargo build --target wasm32-unknown-unknown --release - Wasm bytecode can be found in
<crate_root>/target/wasm32-unknown-unknown/release/<crate_name>.wasm
How does it work?#
- Adds
Serialize&Deserializederive code for exported structure - Implements
GenerateNodetrait to all exported structures - Generates wrapper function around exported function that will handle input payload and output payload
In execution :
- Receive data node as CBOR serialized from the host
- Deserialize data node and fuse it with key node to generate input payload
- Run client function with corresponding arguments
- Convert return value to data node
- Serialize data node as CBOR and send it to the host