At the moment, we’re exploring Wasm Component Model support on IC. Along other scenarios, this component model support would enable the following:
-
A main canister component (Motoko or Rust) controlling all IC communication (messaging, System API calls, and Stable Memory access), i.e. controlling roles and permissions and implementing virtualization.
-
A library component (any Wasm supported language, potentially including Java and Kotlin), managing its own heap memory only. Any communication with the library must pass through the main component.
Do you think folks this might be a step in the right direction for your use case? While the component model alone doesn’t provide virtual canister IDs, that could be an independent small feature (e.g., a canister can create/delete alias canister IDs).