Inspiration

I was inspired by the new opportunities provided by Chainlink Functions in seamlessly connecting verifiable real world outcomes and events to trustless settlement of smart contracts while maintaining decentralization and guarantees of data delivery. I designed a platform that links task completion with verifiable APIs and smart contracts, thereby offering a trust-minimized, censorship-resistant solution for individuals to earn money by completing tasks. This approach significantly reduces the friction and disputes associated with tasks like digital marketing or search engine optimization.

What it does

QuestPost allows for the creation of verifiable tasks called Quests. For this submission I have defined three different Quests that can be issued:

  • Increasing the Spotify popularity score for a given Artist
  • Increasing the number of YouTube subscribers of a channel
  • Increasing the ranking of a webpage's Open PageRank

The Quester is tasked with elevating the verifiable value (popularity score, subscriber count, PageRank) of the artist/channel/website above the target set out in the Quest before the deadline. This framework can readily be extended to any verifiable task that can be defined with a target goal, and where the result can be obtained by an API.

How we built it

QuestPost was built using django as a backend framework, with HTML, CSS and JavaScript on the frontend, and a managed PostgreSQL database. I integrated with Moralis to connect wallets for Ethereum based authentication and to sync blockchain events with my database through Moralis Streams. The site is live at questpost.xyz, hosted via DigitalOcean, with Solidity smart contracts deployed on Polygon Mumbai.

Challenges we ran into

I ran into many obscure bugs during the first two thirds of the hackathon, mostly related to the integration of Chainlink Functions. I also realized that many of the APIs I initially wanted to use for the Quests where either deprecated or prohibitively expensive to use.

Accomplishments that we're proud of

I'm proud to have completed the project with the scope I initially envisioned since I was unable to work on it for the majority of the hackathon. The time constraint forced me to improve my prompting skills, as generative AI has been an invaluable tool for debugging, generating specific code sections and the art used in the project.

What we learned

I improved my full-stack skills further in django and became proficient at utilizing AI-tools to help my development process.

What's next for QuestPost

For a production version of the platform I would like to add more Quests and input validation, as well as adding collateral requirements and subscription payments for Questers in order to make the platform economically viable. For example, the Quester could be required to post collateral equal to the staking APR of the reward for the duration of the Quest, calculated using Chainlink rates feeds https://docs.chain.link/data-feeds/rates-feeds/#eth-staking-apr . It could also be interesting to integrate settlement with Chainlink Automation to automate payouts if the contract reaches maturity.

Share this project:

Updates