Read first: Status Communities Spec

Townhall recording about tokenized community: https://streamyard.com/icym79e3tzni

Create a community

Generate a community key pair, control node is set to the public key of community private key.

Request to join community

If not owner token minted, send message to community topic, message is not encrypted (TODO)

If owner token minted, send message to control node and priviledged users. Message is encrypted within MVDS.

Bandwith Improve Use e2e reliability to replace MVDS.

Response of join community request

If no owner token minted, send message to the user's content topic, not using mvds, because signer is checked against control node's public key.

If owner token minted, send to user directly with MVDS.

Bandwith Improve Use e2e reliability to replace MVDS.

Send message in a community

Message Type: ApplicationMetadataMessage_CHAT_MESSAGE

For public channels, method call: SendChatMessage -> m.dispatchMessage -> SendPublic

For permissioned channels, method call: SendChatMessage -> m.dispatchMessage -> SendCommunityMessage

Bandwith Improve None.

Create owner token