Skip to main content

Community Applications

Community applications — forums, marketplaces, and wikis — are built on MHR-Compute contracts managing CRDT state. All degrade gracefully to text-only on constrained links.

Forums

Forums are append-only logs managed by moderation contracts:

  • Posts are immutable DataObjects, appended to a topic log
  • Moderation is handled by an MHR-Compute contract that enforces community rules
  • Threading is local — each client assembles thread views from the flat log
  • Propagation uses neighborhood-scoped gossip for local forums, or wider replication for public forums

Moderation Model

The moderation contract defines:

  • Who can post (trusted peers, vouched users, anyone)
  • Content rules (enforced at the contract level)
  • Moderator keys (who can remove content)
  • Appeal mechanisms

Since moderation is a contract, different forums can have different moderation policies. There is no platform-wide content policy.

Marketplace

Marketplace listings are DataObjects with neighborhood-scoped propagation:

  • Listings are mutable DataObjects (sellers can update price, availability)
  • Search is local — each node indexes listings it has received
  • Transactions happen off-protocol (physical exchange, external payment) or through MHR escrow contracts
  • Reputation feeds back into the node's general reputation score

Escrow

For MHR-denominated transactions, an escrow contract can hold payment:

  1. Buyer deposits MHR into escrow contract
  2. Seller delivers goods/services
  3. Buyer confirms delivery
  4. Contract releases payment to seller
  5. Disputes resolved by community moderators (trusted peers with moderator keys)

Wiki

Wikis are CRDT-merged collaborative documents:

  • Pages are mutable DataObjects using CRDT merge rules
  • Concurrent edits merge automatically without conflicts (using operational transforms or CRDT text types)
  • History is preserved as a chain of immutable snapshots
  • Permissions managed by an MHR-Compute contract (who can edit, who can view)

Bandwidth Degradation

All community applications degrade to text-only on constrained links:

ApplicationFull ExperienceLoRa Experience
ForumsRich text, images, threadsText posts, flat view
MarketplacePhotos, maps, categoriesText listings
WikiFormatted text, images, tablesPlain text

The application layer handles this adaptation using query_link_quality() — the protocol doesn't need to know about the application's content format.