Architecture
Draft. How contracts are organized and how we think about responsibility boundaries.
Modular Layout
contracts/ is a set of domain modules, not a single monolith:
| Module | Domain | Token Standard |
|---|---|---|
| admin | Roles & access control | - |
| acr | Community token | GRC20 |
| user | Identity & profiles | - |
| chunk | System worlds & land | GRC721 |
| personal_world | Private Realms | - |
| block | Building content | GRC1155 |
Contract Dependencies
admin ← (all contracts depend on admin for roles)
↑
├── acr (minting permissions)
├── user (admin property setting)
├── chunk (world creation, chunk minting, verifiers)
├── personal_world (fee distribution, world deletion)
└── block (system block creation, config)
chunk ← block (install/uninstall permission checks)
personal_world ← block (install/uninstall permission checks)Design Intent
- Keep fast-changing logic (balance/UX) off-chain where possible.
- Keep core verifiable rules (permissions/ownership/settlement) on-chain.
What’s On-Chain
- Ownership and transfers (NFTs, tokens)
- Permission checks (who can build where)
- Fee distribution (transparent revenue splits)
- State verification (chunk verifiers)
What’s Off-Chain
- Game rendering and physics
- Activity tracking and analytics
- Mint request generation
- User interface and experience
Upgrades
- Contract upgrades are tightly coupled with security.
- See Security for:
- Who can upgrade
- What the process is
- How emergencies are handled
Last updated on