Tutorial — Enterprise & RWA
Compose multi-VM workflows
Tenzro Ledger runs EVM, Solana VM, and DAML side-by-side under a unified token registry. A single transaction can touch all three through the cross-VM bridge precompile.
- Level
- Advanced
- Time
- ~25 min
- Prerequisites
- Familiarity with EVM and SVM
- Stack
- TypeScript · Solidity · Rust
01
Inspect the token across VMs
The unified token registry shows TNZO's EVM pointer, SVM mint, and Canton holding.
const info = await tz.call("get_token_info", { symbol: "TNZO" });02
Move from EVM to SVM
The cross-VM bridge precompile 0x1003 coordinates the atomic transfer.
await tz.call("cross_vm_transfer", {
src_vm: "evm", dst_vm: "svm",
token: "TNZO", amount: "100",
recipient_pubkey: "Sol..."
});03
Trigger a Canton workflow
From the EVM contract, emit an event that the Canton adapter relays into a DAML choice.
await tz.call("canton_submit_command", {
command: "exercise", contract_id: cid, choice: "RecordExternalEvent",
payload: { tx_hash: receipt.tx_hash }
});04
Reconcile
Read balances across all three VMs to confirm the workflow committed everywhere.
await tz.call("get_token_balance", { symbol: "TNZO", account: addr });Related