-
Notifications
You must be signed in to change notification settings - Fork 70
Open
Description
Description
Votebox is a very early stage & rough concept for how to do scalable competitions for video subcommunities. It can be built using a metaprotocol.
UX Flow
Creating a competition
- Only Curator WG Lead or an approved worker can create, manage or cancel a competition
- Content Curator Lead can add/remove worker permissions for creating and managing competitions
- Competition has
competition_metadatathat sets title, description, banner image and other informationcompetition_parameterssets the rules, curator(s), oracle(s), timeframe, video length requirements, fees & reward for the competition
Submitting videos to competition
- Any user can add any video at any time
- Video only counts if it falls within the
competition_parameters
- Video only counts if it falls within the
- Subsequent entries of the same video are ignored, only first submission counts
- Fee must be above
entry_fee competition_curatormust approve video
Curation
- Curator must approve entries and ensure they follow the rules or theme with a rationale before they are placed in the competition
Winner(s)
- Are determined automatically by competition parameters and the result is shown to users
Payout
- Payout is done by the selected oracle
- They must also declare the competition as
validorinvalid - App generates payment extrinsic with exact requirements of competition outcome
- Upon payment the app checks the for payment and updates to
paid- indicating to users that the payout has been done.
- Upon payment the app checks the for payment and updates to
Competition Metadata
competition_banner
* URL/JPG:https://website.com/banner.jpgcompetition_title
* text:"Weekly Cooking Competition"competition_theme
* text:"Cajun cooking"competition_emoji
* emoji: prompts emoji selectorcompetition_tags
* tags:cooking,art,creative,cajuncompetition_description
* text:"Hi! This is our weekly cooking competition! This week we're looking into cajun cuisine. Please follow the rules and have fun!""`competition_conditions
* text:"Only original content, submissions must be between 30s - 4 minutes long. No music."competition_reward
* number of winning entries:top 3 videos
* number:22k $JOY
* text_1:"featured on Joystream Twitter"
* text_2:"featured on Gleev homepage for 1 day"
Competition Parameters
competition_starttime
* Start time is in the future, this is from when entries will be allowed. This will allow the competition to be prearranged and announced for maximum impact.competition_submission_period
* This will be the duration that entries can be submitted, which will start oncecompetition_min_entrieshas been exceeded. If set to0the competition will start immediately.
* Time:3 dayscompetition_curator_period- This will be the time period in which the
competition_curatorcan approve entries beforecompetition_vote_periodbegins
- This will be the time period in which the
competition_vote_period- The length of time that voting will be allowed
competition_curator- This is the member(s) who curate the content--approving videos into the competition. They will be given permissions by being listed here.
- membership handles:
@member_handle
competition_oracle- This is the person(s) who handles payment
- After competition end they can declare the outcome
validorinvalid - membership handles
@member_handle
min_video_duration- Minimum duration of a video--entries outside this are ignored
- number:
30 seconds
max_video_duration- Maximum duration of a video--entries outside this are ignored
- number:
4 minutes
competition_min_entries- The minimum number of entries required for the competition to start
- number:
3 entries
compeition_max_entries- number:
52 entries
- number:
competition_entry_fee- number:
500 $JOY
- number:
competition_vote_fee- number:
3000 $JOY
- number:
competition_fee_recipient- Fees paid for entries or voting are sent to this address--can be used as the prize pool
- Default is blank
- Membership faucet address?
- Custom address
- Description of who the address owner is
competition_winner_count- number:
3 videos
- number:
Submission Metadata
submission_url- URL of video:
https://gleev.xyz/videos/1234
- URL of video:
submission_rationale- text:
"insert text here"
- text:
submission_source- determined if submitter is the original uploader of the video
Competition conclusion
competition_oracle_result- Oracle issues judgement if the competition is
validorinvalid
- Oracle issues judgement if the competition is
competition_payout_tx- This is a link to the transaction where payout(s) occurred
Moderation
- Moderator can cancel competition with
cancel_rationale- Fees can be refunded if desired
Voting
- Any member can vote
- Can provide optional
rationale - Can provide optional
emoji - Fee must be above
vote_fee - Can vote multiple times
- Can provide optional
Payout
- The
competition_oraclewill manage payouts. This is a social contract.
Social features
Individual competition leaderboard
- Shows a list of videos
- Winners highlighted
- Highest rated videos shown first
- Voter page that shows the
memberswho voted the most/least
Video maker leaderboard
- Shows channels that have won the most times and what their rewards have been
References
Unanswered questions
- Metaprotocols and fees are used
- Who is moderator?
- Content Curator WG?
- Who should voters be?
- Members?
- Channels?
- How should entries be restricted?
- Category?
- seems restrictive
- Length?
- yes
- Category?
- Where do fees go?
- They can go to the validator that authors the block
- Tip must be set on TX submission
- Query node does not track this
- Can this be changed to send to any random account?
- Member can via
member.memberRemark - Channel cannot do this
- Member can via
- They can go to the validator that authors the block
- Where does reward go?
- Channel owner?
- NFT owner?
- Person who submits?
- Split?
- Can membership deposit be used for
system.remark?- This needs testing via signup flow
- What does
system.remarkWithEventdo?- Asked builders WG
UI
- List of competitions on sidebar
- Show whether
upcoming,active,concluded - Entry count
- Countdown to start/finish time
- Show whether
- Title/description/theme is shown of currently selected competition
- Basic stats
- Videos are shown on a carousel in random order which autoplays the primary video
- User can click next/previous video to browse videos
- Or user can click to get a random video
- User can vote for a video
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels