Stay up to date with the HUMAN project through our bi-monthly newsletter.
A new demonstration of HUMAN Protocol, inspired by Fortune
To help demonstrate the basic functionality of HUMAN Protocol, we’ve released a Fortune-inspired demonstration on our GitHub. This is an example application that runs on top of the Protocol, within which lines of text can be requested from distributed workforces, that provides a standardized reference for future developers.
Fortune is available for any developer to inspect and extrapolate from to create their own solutions.
To learn more, see our GitHub:
Fortune is based on an old Unix program, in which a pseudorandom message is displayed from a database of quotations, created by the community. Fortunes refer to any line of text (or code) related to a specific thing; the term for browser “cookies” shares the same derivation: fortune cookies.
We’re adopting this basic idea, and decentralizing it, placing the basic ask-and-receive functionality on-chain. Within this demonstration, projects can request fortunes and provide an amount in HMT to support the work; users, on the other side, create these fortunes and receive HMT for their contributions.
An example may be, a project requires five humorous lines about a particular topic in development, and funds the work with a total of 100 HMT. The reputation oracle ensures that each contribution is unique, and then distributes rewards evenly to the contributing workforce.
As mentioned, this is a basic demonstration; it purposefully omits other Protocol capabilities, such as results encryption, oracle decentralization, reputation network, etc. More than anything, our intention is to use this to inspire other use cases, and to get our community thinking about the broader possibilities of crowdsourcing any type of information or input.
To begin, projects (as the job requester) can visit the job launcher DApp available through our GitHub. There, they can connect their wallet and deploy a smart contract to “Escrow”. “Escrow” is a smart contract, which holds all information related to the job. The salient parts of this contract are:
After Escrow is deployed to the blockchain and funded with HMT, workers can write their fortunes on the “Exchange”. This is a piece of software that has an interface for solving a specific type of job. Examples of exchanges are CVAT, for image-annotation tasks, and INCEpTION, for text-annotation tasks.
For this demonstration, we’ve created a small application with one input, in which every user can connect their wallet and push their fortunes to the recording oracle. In this case, the recording oracle is a backend server, connected to via an API, that holds job results (fortunes) and then pushes them to the reputation oracle.
Besides holding the data, the recording oracle can also perform an initial validation of responses. In the case that it receives a result from several contributors for a specific question, the oracle finds a consensus between the responses.
An example may be image-binary classification. From the labels received for each piece, the oracle would send the most popular to the reputation oracle.
The reputation oracle is responsible for:
Finally, the request for fortunes will be parceled out to supported applications, including the HUMAN App.
We’ll keep the community updated on the development of Fortune as it evolves, and as we add new capabilities.
For the latest updates on HUMAN Protocol, follow us on Twitter or join our Discord. Alternatively, to enquire about integrations, usage, or to learn more about HUMAN Protocol, get in contact with the HUMAN team.
The HUMAN Protocol Foundation makes no representation, warranty, or undertaking, express or implied, as to the accuracy, reliability, completeness, or reasonableness of the information contained here. Any assumptions, opinions, and estimations expressed constitute the HUMAN Protocol Foundation's judgement as of the time of publishing and are subject to change without notice. Any projection contained within the information presented here is based on a number of assumptions, and there can be no guarantee that any projected outcomes will be achieved.