Contest proposal: NFT collection distributor
Contest dates
- Submissions: 08.11.2021 - 08.12.2021 23:59 UTC
- Voting: 09.12.2021 - 19.12.2021 23:59 UTC
Motivation
The popularity of (de)generative art (e.g. Degen Ape Academy) has been growing on a daily basis on all the progressive and classical networks. Numerous collections have been launched by artists from all over the world adding great value to the communities of blockchain projects, increasing the popularity of charity-related and charity-focused projects spreading the word to the off-chain audience.
Vast communities have been created around collections that connect people with common interests and opinions. A number of blockchain projects benefit greatly from such initiatives as they bring additional value to somewhat ‘faceless technologies’. The popularity creates demand - demand for documentation, tools, and solutions that help artists and creators join the NFT movement easily and comfortably. The less one needs to know and understand the tech behind it - the wider and faster adoption goes.
The goal
To develop a smart contract system and set of scripts that will perform a whole cycle of the creation of a generative NFT collection including but not limited to:
- media and metadata upload into collection generator
- metadata (traits & royalties) support - stored on-chain
- upload of the collection media to the main net or drive-chain or IPFS
- minting by the administrator (zero fees)
- minting by the user with a pre-defined minting price
User flow
The following steps will be performed by the user to see his collection created:
- Media files preparation
- Metadata compilation
- Creation of the collection distributor
- Uploading the media and metadata into the distributor
- Configuration of the distribution mechanics (price, dates etc)
- NFT minting with set parameters
Codebase
Any scripts and smart contracts from previous contests are allowed.
Security
The provided solution has to provide safety to both the user’s funds and NFTs. The ownership of the NFTs in the collection can not be changed by the administrator under any circumstances.
Submission format and requirements
- GitHub repository
- PR in Free Ton repository
- Free Software License
- Submissions with failing builds/tests/samples will be rejected
- Video presentation - a strong plus
- Apart from uploading a submission, a code should be submitted in accordance with GitHub - freeton-org/readme 3
- DeBot for minting an NFT
- Forum post in the same thread as the contest announcement
Evaluation criteria
- Functionality
- Security
- Responsible functions in smart contracts - a strong plus
Code quality & documentation
Documentation should have an explanation of the following basic things working with the smart-contract system:
- Compile from sources
- Deploy to the blockchain
- Verify installation integrity
- Utilize primary functionality
- Observe execution results
Each of the steps above must:
a) Have steps to reproduce described in the README file
b) Have specified expected outcome
c) Be consistently reproducible according to the a)
d) Provide means to compare actual results to the expected according to the b)
No third-party technologies should be required for the above except the standard (shipped with the OS).
Any extra dependency should be justified and kept to a minimum.
Score penalties for violations of each of the requirements:
- 0.5 points if minor issues
- 1 point if major issues
- 2 points if the requirement is not met
Voting
- The juror must have a solid understanding of the described technology to provide a score and feedback. If not, the juror should choose to ‘Abstain’.
- Jurors or whose team(s) intend to participate in this contest by providing submissions lose their right to vote in this contest.
- Each juror will vote by rating each submission on a scale of 1 to 10 or can choose to reject it if it does not meet requirements or vote ‘Abstain’ if they feel unqualified to judge.
- Jurors must provide feedback on submissions or lose their reward.
- The Jury will reject duplicate, sub-par, incomplete, or inappropriate submissions.
Contest rewards
1st place………… 100 000 TON
2nd place…………80 000 TON
3rd place……………60 000 TON
4th place…………. 40 000 TON
5th place…………. 30 000 TON
6th place…………. 25 000 TON
7th place…………. 20 000 TON
8th place…………. 15 000 TON
9th place…………. 10 000 TON
10th place…………. 5 000 TON
The minimum score to receive a reward is 4. Reject counted as zero.
Overall prize pool: 385 000 TON
Note: If the number of winning submissions is less than the number of rewards available, any remaining rewards are not subject to distribution and are considered void.
Rewards distribution model
If the reward is 25 000 TON or less, the reward is granted in full after the judging is completed. The remaining amount is distributed within 6 months in equal parts on a monthly basis. To receive all distributions, the solution should be supported within the vesting timeframe:
- Github issues should be responded to within 3 days
- The code should be updated within a reasonable timeframe - 2 weeks maximum
- Major GitHub Issues should be resolved within a reasonable timeframe - 2 weeks maximum
Jury
The jury for the contest is compiled of specialists of DevEx Subgovernances with expertise in smart contracts and scripts.
Jury Rewards
The formula for calculating the reward of each jury member for this particular contest is as follows:
Jury reward = 1 000 TON * number of submissions;
This percentage will be awarded on the following basis:
- Detailed feedback is mandatory to collect any rewards.
- Voting for all submissions is mandatory to collect rewards.
- The votes of the jury members who did not receive the rewards for the reasons listed above will not be counted.
- Jury rewards are distributed in full upon the end of voting regardless of the long-term outcome.
- Jury members are expected to communicate with participants and answer questions about the criteria for the assessment.
Presentation and Q&A of contest submissions
At the beginning of the voting period, an AMA session will be appointed for participants, jurors, and everyone else. At this session, each contestant team has to present their work.
The preferable presentation language is English. The presentation time should not exceed 10-15 minutes.
If a contestant cannot present the work online, they should make a video recording and publish it on YouTube but any questions that arise should be answered.
Governance rewards
An amount equal to 5% of the prize fund will be equally distributed amongst community members who participated in the organization of the contest:
@michael_kabanov
@anovi
The same percentage of the monthly reward will be received by the person(s) responsible for its distribution (vesting distribution overhead).
Contest announcement and attracting new members rewards
An amount equal to 2% of the prize fund will be allocated to announcing partners who participate in the promotion of the contest in different media according to the following table: media list for technical contests announcements, to be distributed equally among them:
- @anovi
- @Alex770
- @lesnik13utsa
- @Kronchs
Each participant of the contest, when submitting an application, will be asked through which announcing partner he/she learned about the contest. After the end of the contest, for each participant who won a reward, an amount equal to 5% of his/her reward will additionally be distributed:
- To the announcing partner who attracted him, if the referral was given during work submission;
- Or equally to all aforementioned partners of the announcement program, if the referral was not specified.