The three pain participants in our platforms are Publisher, Voter, and Solver, Dapper. As a user, one has to deposit ethers go get the roles they desire. To get each role, each of them has to deposit a certain amount of ethers so as to get their respective role. A publisher can publish two types of problem statements for which he wants a solution with a certain amount of ether as a reward. The problem type can be smart contract and smart contract and Dapp. The problem statement is being stored in fleek and the respective fleek hash is stored in the Blockchain. The Solvers will solve the problem on the EthFiddle platform and put their solution link into our ChainWhiZ platform along with the Readme file whose fleek hash will be stored on our blockchain. This should be done within time limit. If the time limit of smart contract completes, the Dapp stage begins where Dapper can solve it. The dapper will upload a video link that will be stored on our blockchain. In case of smart contract stage of a problem statement, the voters will be responsible for going through the solution, testing them using the EthFiddle link of specific solutions, and then voting for the ones they see as a perfect one. The publisher will have a profile page where he/she can view the total number of solutions to a specific problem statement posted on the ChainWhiZ platform with the corresponding accuracy of each solution voted and tested by experts. In this manner, the smart contract solution with the highest votes will be rewarded after a predefined deadline. This is for the smart contract stage of the problem statement. In case of dapp type problem statement, publisher has the liberty to approach particular dapp. When the publisher approves for any dapp, escrow contract is initiated along with a chat channel is created between the publisher and the dapper and the reward set by him for the dapp will be transferred to the escrow contract . After the first stage being transferred to the second stage , the user who submitted the dapp will change ownership and confirm it which in turn changes the stage to the last stage. Now when the publisher confirms delivery , the reward is being transferred from the contract to the user who made the dapp. The publisher will not only find a smart contract solution but a solution that is tested and approved by the community of experts. For choosing dapp, publisher has the right to do so. This ensures quality and efficient solutions. The whole platform functions in a decentralized manner. In that way, no one can forcefully promote their solution. The identity of voters is not known so no solver can bribe them or corrupt them in any way. The admins are the controlling body that can remove any participant who tries to do the malicious activity.
How It's Made
We tried to take advantage of deterministic character of Ethereum Smart Contracts and decentralised storage capability of Fleek to make a decentralised Dapp building platform. We used smart contract to define the roles of our key participants. The user have to pay certain amount to avail the roles. The publisher details like the problem statement, reward and time period are stored in blockchain. The publisherhas to choose whether he is opting only for smart contract or a complete Dapp development. He has the freedom to set the time limit and reward for each statement. The solution of the solver will be stored in Fleek. The solution includes link to an editor and a readme file to guide how each of the functions work. The voter then goes through the solution and votes for the solution. We have defined the restrictions such as a voter can vote only once in the smart contract. After the time limit is reached, the smart contract with highest votes will get a portion of reward and the voters who voted for will get some reward. This logic defined in smart contract. If the publisher has opted for a complete Dapp, the choose smart contract will be moved to the next stage, where Dapp Developer will develop a Dapp for the smart contract within the time limit. They may ask Publisher for queries. After the Dapp is done, he has to send a video recording which will be stored in Fleek. The publisher will go through the video. If he finds it good enough, he will initiate an escrow contact which will make a secure tranfer of funds as well as transfer of ownership.