The goal of this project is to create a smart contract for storing hashes(strings) in the blockchain and rewarding tokens for each submission. Hashes and hash infos
are to be publicly accessed without execution of functions on the smart contract (use mappings).
The reward system is based on voting and the tokens are created once each hash reaches a minimum amount of positive feedback.
The project is for educational purposes but it should be built with safety concerns as if it were a final product. (with safe adds, etc...)
The smart contract needs to be upgradeable by the contract creator to a newer version if necessary.
The functions to develop are as follows:
addHash(string hash, string name)
addReview(string hash,string comment, bool feedback)
any user, except the hash's submitter, can review a hash, giving it a positive or negative (like or dislike) and providing a comment.
Once a hash is at 5 positive comments, a token is created and sent to the hash submiter. (one token, one time only per hash. if a hash reaches 5, the owener receives a
token, but if it goes to 4 and then to 5 again it wo'n be issued a new token again).
any user can add hashes to the smart contract.
Every hash is unique
Hash's owner can't provide feedback for itself.
Each user can only provide feedback one time for each hash
anyone can delete a hash(even if he isn't the owner) by spending 10 tokens and the tokens are burnt from existence.
other standard functions such as transfer tokens and create tokens(only the contract creator can create new tokens) need also to be implemented.