G$ is used to incentivize participation in social media.
This can be a tool to enable it to reach mass market.
Anyone that wants to promote a tweet and create a tweet storm can do so in sybil resistant way and with G$
Details
Create Campaign (frontend)
[ ] Promoter should fill campaign details
name
tweet url
default share text (optional)
via (optional) (twitter username of campaign to associate with the shared tweet)
comma separated hashtags
bounty amount
max number of bounties
start date
duration days
[ ] Once submitted
approve max bountes*bounty amount + 10% fee to the Campaigns smart contract
submit campaign details to the Campaign smart contract (which should transfer the funds)
Campaign list (frontend)
[ ] read campaigns from blockchain using multicall or thegraph
[ ] show list of all active campaigns (did no pass end date or did not pass max bounties)
[ ] show for campaign how many bounties were claimed already
[ ] sort by bounty amount, allow to sort by other parameters
[ ] allow to filter to only started
[ ] next to the campaign there should be two buttons "tweet" ,"claim"
Participate (frontend)
[ ] when user clicks on a "tweet" he's openend with an embed with text="default share text" + url=tweet url + via=via + hashtags=hashtags
[ ] After user shares or presses the claim button he is then shown a box to enter the tweet url, once he submits it is sent to the
to the backend /prove endpoint
server responds with a signedPermit if valid
user submits url + proof to Campagin smart contract (submitTweet(campaignid,tweetUrl, signedPermit)).
Motivation
G$ is used to incentivize participation in social media. This can be a tool to enable it to reach mass market. Anyone that wants to promote a tweet and create a tweet storm can do so in sybil resistant way and with G$
Details
Create Campaign (frontend)
Campaign list (frontend)
Participate (frontend)
Smart contract
backend