project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4

CO-OPS*

We have built Community Notes for decentralized social. It uses voting markets associated to Farcaster casts, tweets, or lens that people stake their evaluation to.

CO-OPS*

Created At

ETHGlobal New York

Project Description

Overview: ContentModeration

This smart contract, "ContentModeration," is designed to crowdsource feedback on the bias of content, particularly posts on decentralized social platforms.

Main Features:

Voting System: Users can cast votes on content to indicate how biased they perceive it to be. The voting categories are: STRONGLY_BIASED, BIASED, NEUTRAL, UNBIASED, and STRONGLY_UNBIASED. Staking: When voting, users stake ether which potentially gets redistributed based on collective voting outcomes. Voting Markets: Each content post has an associated "voting market" which stores the voting results and statistics. Statistics Calculation: The contract calculates the mean and standard deviation of the votes to determine the consensus of bias perception. Stake Redistribution: After voting concludes, the stakes of users whose votes lie outside one standard deviation of the mean are redistributed among the other voters. Security & Control: Only the contract owner can initiate voting markets and handle certain administrative actions like pausing the contract or cancelling a voting session. Withdrawals & Claims: Users can withdraw their pending funds and claim rewards or refunds based on voting results. Flow:

The owner initializes a voting market for a post. Users vote by staking ether and selecting a voting category. Once voting concludes, if there are fewer than 20 voters, the stakes are refunded. Otherwise, statistics (mean & standard deviation) are computed. Stakes from voters whose votes deviate significantly from the mean (more than one standard deviation) are pooled together. This pooled stake is redistributed among the other voters. Voters can then claim their rewards or refunds, and funds are transferred accordingly. The owner has the capability to pause the contract, resume it, or cancel voting, returning the staked ether to the voters. Events: The contract emits events for key actions like voting, stake distribution, pausing, resuming, etc., enabling external systems or frontends to react or log these events.

Use Case: Paired with a NextJS frontend and ConnectKit, this contract can be employed on decentralized platforms like Farcaster or Lens, to get community feedback on content bias. This mechanism not only fosters community engagement but also encourages truthful voting through stake redistribution.

How it's Made

This project uses Ethereum, Hardhat, and Solidity smart contracts to generate voting markets on Base so that participants can vote. It also uses cast hashes on Farcaster to associate the voting market to. On the frontend we used NextJS 13, ConnectKit, and Airstack to be able to pull casts to vote on.

background image mobile

Join the mailing list

Get the latest news and updates