Video

https://www.loom.com/embed/cbebfe43180d413db13e51e2e7a6103c

Summary

Non-Fungible Comments (NFCs) enable a decentralized commenting system for NFT collections. By registering an NFT smart contract with the tableland-powered Registry contract and configuring options like whether to token-gate write access, collection owners will make it possible for holders, or anyone, to leave comments on a given token ID.

There will likely be a single smart contract that interacts with three Tableland tables: a registry of NFC-enabled collections with preferences, a comments table to store actual comments, and a votes table to track votes on comments to enable Reddit-style up/down voting. A future version may include some kind of flagging functionality.

# Registry Table
CREATE TABLE collections (
  id integer NOT NULL,
  created_at integer NOT NULL,
  address text NOT NULL,
  chain_id integer NOT NULL,
  name text,
  symbol text,
  token_gate integer
)

# Comments Table
CREATE TABLE comments (
	id integer NOT NULL,
	created_at integer NOT NULL,
	address string NOT NULL,
	body text,
	contract_id integer,
	token_id integer,
	parent_id integer
)

# Votes Table
CREATE TABLE votes (
	id integer NOT NULL,
	created_at integer NOT NULL,
	address string NOT NULL,
	vote integer,
	comment_id integer
)

Diagram

https://excalidraw.com/#json=B3-WXXapkPoQ7h_5z-h4h,j35qGD0s4HB4eOG8gkCvsQ

nfc.png

How it works

  1. The owner of a given NFT contract, in this case Crypto Coven, starts by registering with the NFC contract via a web frontend. They’ll be able to set preferences like whether only token-holders should be able to comment.
  2. NFT marketplaces, custom project websites, and apps like Wallets or custom native apps will allow users to interact with the NFC contract via SDKs to list and post comments and up/down vote comments.