On-chain community moderated forums
This project contains the following programs:
Onda compression is similar to the Bubblegum program, but built specifically for compressed forum entries. Like Bubblegum, Onda Compression makes use of concurrent merkle-trees via the Solana Account Compression program. It supports various post types as well as comments. Each entry leaf is generated by hashing the entry data args, which much follow the correct schema, together with other important metadata (author
, created_at
, edited_at
) to ensure the on-chain state of an entry is fully verifiable.
The program is also built to support moderation and token-gating. The ForumConfig
authority has the power to delete entries from the tree and enforce specific write restrictions via the Gate
struct.
Assigns a unique namespace with associated metadata to a merkle-tree and ensures that each merkle-tree can only occupy one namespace.
Onda Awards is built on top of Bubblegum and provides a simple interface for creating cNFT Awards and minting them to a forum entry. While the forum entryId itself does not exist on-chain, this does not prevent the entryId from "virtually" holding the cNFTs. Onda Awards ensures composability with the virtual address by delegating authority to the Award pda on mint.
Supports team member moderation of Onda Compression entries by setting the ForumConfig authority as the Team
pda. Members can be added to a team with Admin
or Editor
roles.