Skip to content

Billboard Demo

The billboard example is the smallest useful migration exercise in this guide: a contract that stores and reads messages on-chain.

It is intentionally simple so you can focus on syntax and state-model differences instead of app complexity.

  • Solidity contract becomes a Move module
  • msg.sender becomes &signer
  • contract storage becomes a resource such as Billboard
  • external / view functions map to entry / #[view]
  • events, errors, and tests all use Move-native syntax
  1. Modules and initialization
  2. Functions
  3. Basic types
  4. Structs and resources
  5. Events
  6. Errors
  7. Testing