Thanks to visit codestin.com
Credit goes to lib.rs

20 releases (4 stable)

new 1.4.3 Jan 2, 2026
1.4.2 Dec 26, 2025
1.3.2-dev.2 Oct 24, 2025
0.0.0 Oct 24, 2025

#667 in WebAssembly

Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App

1,564 downloads per month
Used in golem-rust

Custom license

2MB
56K SLoC

Codestin Search App Codestin Search App

golem-wasm-rpc

Defines data types for Golem's remote function invocation and conversions between them.

  • WitValue is the WIT-defined generic data type capable of representing an arbitrary value, generated by wit-bindgen
  • A builder and an extractor API for WitValue
  • Value is a recursive Rust type which is more convenient to work with than WitValue. Conversion between WitValue and Value is implemented in both directions.
  • Protobuf message types for describing values and types, and a protobuf version of WitValue itself and conversion from and to Value and WitValue
  • JSON representation of WIT values, as defined in the Golem docs.
  • Conversion of Value to and from wasmtime values

The JSON representation requires additional type information.

Host and stub mode

The golem-wasm-rpc crate can be both used in host and guest environments:

To compile the host version:

cargo build -p golem-wasm --no-default-features --features host

To compile the guest version, has minimal dependencies and feature set to be used in generated stubs:

cargo component build -p golem-wasm --no-default-features --features stub

Feature flags

  • arbitrary adds an Arbitrary instance for Value
  • bincode adds Bincode codecs for some types
  • host-bindings enables WIT-generated types for wasmtime hosts
  • json adds conversion functions for mapping of a WIT value and type definition to/from JSON
  • poem_openapi adds poem OpenAPI type class instances for some of the types
  • protobuf adds the protobuf message types
  • serde adds serde JSON serialization for some of the types
  • text enables wasm-wave based text representation for values
  • wasmtime adds conversion to wasmtime Val values
  • host enables all features: arbitrary, bincode, host-bindings, json, poem_openapi, protobuf, serde, text, typeinfo, and wasmtime
  • stub is to be used in generated WASM stubs and disables all features, and generates guest bindings instead of host bindings

Dependencies

~2–28MB
~367K SLoC