This contract was written by the Scruge team for the benefit of the EOS community. The purpose of this contract is to create a protocol for creating Bounties on the EOS network.
- Bounty Agreement: This Document
- Bounty: A useful task presented by a Provider to be completed by Hunters in return for a Reward
- Provider: An entity or a person that creates a Bounty and promises a Reward for completing the Bounty
- Hunter: An entity or a person that accepts from a Provider to complete a Bounty to receive a Reward
- Reward: A collection of cryptocurrencies in the form of Tokens and/or/nor EOS
- Tokens: : a collection of EOS-based tokens. Usually emitted by the Provider as part of the Project
- Project: Decentralised application that uses Tokens in its system
Provider that has done this before skips straight to Bounty Creation. Otherwise, the Provider does the following steps:
- Provider sends a fee to the EOS account scrugebounty. This fee will only be consumer in the creation of a bounty later.
- Provider initiates an action newproject with a description of their Project specifying:
- Provider Name (name of the account)
- Project Description (including token economies: total supply, inflation rate and expected exchange listing and other relevant info such as whitepaper, links etc.)
- Project Name
In this way, Provider enters into Bounty Agreement, gets registered with the scrugebounty contracts and receives ID providerName
Provider sends a transaction to scrugebounty paying a fee for creation of the bounty. Then Provider initiates an action newbounty with a description specifying the following:
- Bounty Description
- Rewards Description
- Bounty Duration (in milliseconds)
- Participation Limitations, like:
- user limit
- submissions per user
- time limit for one user to participate again
- Budget Constraints
In this way, bountyID is created.
Hunter accomplished Bounty and sends proof of his work (e.g. a link) via action submit to the account scrugebounty specifyind bountyID and providerName. In this way, Hunter enters into Bounty Agreement and submissionID is generated.
After a certain period of time (as specified in the Bounty Description), a payout is made according to Rewards description. Provider sends a payment to the account scrugebounty passing in a memo submissionID for which payment is to be made. Payment is automatically sent to the respective Hunter