Inspiration

Advertising as part of content has been rising- think of a Youtuber endorsing a product as part of a video instead of an automated Youtube ad. This application intends to connect content creators and advertisers over the blockchain, allowing automated payments without traditional overhead.

What it does

  • Allows an advertiser to make "Contract Offerings", which specify an amount of Ethereum to award to a content creator based on a set threshold of views.
  • Allows a content creator to sell space on their content by creating a contract out of these offerings.
  • Allows an advertiser to "approve" of the content creator's endorsement.
  • Uses a Chainlink Oracle to automatically send payment to the content creator after an external adapter monitoring content (like a Youtube video) view count triggers.
  • Refunds any payments not made ## How I built it
  • Solidity for writing a main smart contract.
  • Truffle (Chainlink Truffle Box) for compiling the contract.
  • web3JS to inject the contract into Javascript
  • Angular to build the web app itself.
  • AWS for hosting and infrastructure management
  • DynamoDB for off-chain state management (tracking contract offerings, etc).
  • API Gateway-> AWS Lambda for the backend.
  • Terraform for managing cloud infrastructure. ## Challenges I ran into Solidity was more limited than expected, because I originally wanted to have multi-tiered view count thresholds and payments. However this proved too complicated, so scaled back to single threshold/payout per contract. ## Accomplishments that I'm proud of About two weeks ago I had never built anything on blockchain before. Feels great to have made so much progress! ## What I learned How to build on blockchain, the basics of how smart contracts work. ## What's next for Ad Bounty So much! I plan to continue building it, especially the components I was unable to finish (contract approval mechanism, automatic off-chain polling mechanism). Would love to push this on to mainnet if I work the kinks out!

Built With

Share this project:

Updates