Skip to Content

Chunk

Draft. The contract managing system worlds and land ownership as NFTs.

Purpose

The Chunk contract handles two main responsibilities: managing shared system worlds created by the Akkadia team, and tracking land ownership within those worlds as NFTs. Each chunk (a discrete area of land) is represented as a GRC721 token that can be owned, transferred, and have permissions assigned.

Key Concepts

System Worlds

System worlds are official Akkadia spaces:

  • Created and managed by the admin
  • Shared multiplayer environments
  • Fixed biome and seed configuration
  • Named and slugged for easy discovery (e.g., “genesis-plains”)

Unlike personal worlds, system worlds are permanent fixtures of the Akkadia ecosystem designed for community interaction.

Chunks as NFTs (GRC721)

Each chunk within a system world is an NFT:

  • Token ID format: {worldID}:{x}_{y} (e.g., “1:0_0” for the origin chunk of world 1)
  • Minted by admin to specific owners
  • Transferable between players
  • Carries metadata (world type, coordinates, hash for rendering data)

Owning a chunk gives you control over that piece of land within the system world.

Role-Based Permissions

The permission system has three layers:

Permissions - Defined globally by admin:

  • block:install - Install blocks in chunk
  • block:uninstall - Uninstall blocks from chunk
  • Additional permissions can be created as needed

Roles - Defined globally with assigned permissions:

  • editor (default) - Has block:install and block:uninstall permissions
  • Custom roles can be created by admin with specific permissions
  • Roles have maxAssign limit (0 = unlimited)

Role Assignments - Per-chunk:

  • Chunk owner can grant any role to users
  • Admin can grant any role to users
  • Users with grantable permissions can grant specific roles to others

Permission Check Order:

  1. Chunk owner - has all permissions
  2. Admin - has all permissions
  3. World master - has all permissions for chunks in that world
  4. Users with assigned roles - checked against role’s permissions

World Masters

Masters have world-level permissions across all chunks:

  • Assigned by admin only (GrantMaster)
  • Has all permissions for every chunk in the world
  • Useful for world moderators or managers

Chunk Verifiers

Chunk verifiers store hash data used by clients to fetch rendering data. The operator can set verifiers for chunks to enable proper content loading.

What’s On-Chain

  • System world definitions (name, slug, biome, seed, options)
  • Chunk NFT ownership (GRC721 standard)
  • Chunk metadata (coordinates, hash, world type)
  • Permission and role definitions
  • Role assignments per chunk
  • World master assignments
  • Chunk verifiers

Capabilities

For Admin

  • Create and update system worlds
  • Mint chunk NFTs to players
  • Create/update permissions and roles
  • Grant master role for world-wide permissions
  • Set chunk verifiers

For Chunk Owners

  • Transfer chunk ownership (NFT transfer)
  • Grant and revoke roles on your chunk
  • Install and uninstall blocks
  • Approve others to manage your chunk

For Role Holders

  • Build in chunks where you have permissions
  • Grant roles to others (if your role has grantable permissions)

For Anyone

  • Query world information
  • View chunk ownership and metadata
  • Query permissions and roles
Last updated on
Docsv1.0.10