Crowdsourcing data labelling tasks on the ethereum blockchain.
Final project for Chainshot OxBridge Bootcamp, Dec 2021 - Jan 2022.
- Set up a
.envfile with an alchemy endpointRINKEBY_URLand a private key for the serverPRIVATE_KEY(change the public address in the contracts if necessary). - Change into the
solidityfolder,npm install, then compile the contracts usingnpx hardhat compile. - Change into the
back-endfolder,npm install, then start the server usingnodemon server.js - Change into the
front-endfolder,npm install, then start the front-end usingnpm start
Built with React/Chakra UI.
- Task Creation
- Task Viewing
- Label a task and submit labels
- View Results
Server stores data labels given by each address. Uses this to compute consensus label.
On settlement, uses label accuracy metrics to payout fairly.
- Settlement.sol
- Disperses funds to the labellers
- This can be changed later on if we adjust the consensus mechanism.
- Task.sol
- Creates and stakes a task.