Skip to docs content
Reference/FAQ

Reference

FAQ

Short answers to the questions teams ask first.

Short answers to the questions teams ask first.

Does layoutd touch the chain?

No. It is entirely off-chain — a code generator and a safety gate. There is no runtime, no network call, and no on-chain component. It reads files and writes output.

Does it loop over all my accounts?

No. Solana has no “update all rows” operation. Migration is lazy and per-account: each account migrates individually, on first access by the new program version, paid for by whoever signs that transaction. An account never touched again is never migrated, harmlessly. layoutd’s only job is producing the correct migration logic.

What if my real binary classifies a change differently?

Your installed binary is the ground truth. The output shown in these docs reproduces the on-screen example and follows the spec’s classifier rules, but you should re-run the CLI on your own account versions to confirm the exact verdicts. When in doubt, trust the binary over the docs.

Is zero-copy supported yet?

Borsh is the focus of v0.1. Zero-copy layout analysis — real offsets, alignment, and padding — is the harder engine and is marked as evolving. See Borsh vs Zero-Copy.

How do I ship a change that’s intentionally dangerous?

Acknowledge it. Name the exact change in the --ack file so check passes only that danger. The decision is recorded in your version history and visible to every reviewer. See The Risk Model.

What license is it under?

layoutd is dual-licensed MIT OR Apache-2.0 and published to crates.io.