2. Build your TEE contract - Terminal 3 Documentation

Build the release artifact

Install the WASI Preview 2 target once per machine, then build the release artifact:

rustup target add wasm32-wasip2
cargo build --target wasm32-wasip2 --release

Cargo writes the component to target/wasm32-wasip2/release/. If your package name contains hyphens, Cargo converts them to underscores in the file name. The z-tenant-flight package therefore builds to:

target/wasm32-wasip2/release/z_tenant_flight.wasm

Confirm the file exists before moving on:

ls -lh target/wasm32-wasip2/release/*.wasm

The .wasm file is the artifact you pass to tenant.contracts.register in Step 3.

Verify the component interface

Use wasm-tools to print the component’s WIT interface:

wasm-tools component wit target/wasm32-wasip2/release/z_tenant_flight.wasm

The output should include the host interfaces you imported in wit/world.wit, such as host:interfaces/kv-store, and your exported interface:

export contracts;

If wasm-tools is not installed yet:

cargo install wasm-tools