Skip to main content

Module genesis

Module genesis 

Source
Expand description

Chain genesis: σ initialization + kernel-cap injection.

genesis takes a chain Image and publishes into σ’s cache:

  • The chain Image (as a Cap::Image blob).
  • The kernel-issued unit caps at well-known slots (Gas{0}, Quota{0}, YieldCatcher, factories, host entries).
  • The chain’s root cnode binding those caps + the image’s pinned / initial slot data caps.
  • The chain Cap::Instance referencing the chain image and root cnode.

Per the v3 spec’s “kernel-issued caps”, each unit cap encodes its identity (meter id, quota id) in regs[0] — InstanceCap no longer has a free-standing content_hash field, so identity rides on observable state. Kernel caps are immutable by convention (userspace never invokes them via PVM), so regs[0] is stable.

Structs§

Genesis
Output of genesis: the initial σ together with hashes identifying the chain Image, root cnode, and chain Instance inside the cache.

Functions§

genesis
Construct chain genesis from a chain Image.