I have now published the code, work-in-progress as it is, so that I can share my progress with you all as I work on this.
After a chat with @theycallmedan, I decided to give this a higher priority among the Hive projects I'm working on, to get this out soon, so expect quick progress :)
The repository with the backend code for the protocol is now on GitLab.
Repo: https://gitlab.com/imwatsi/native-ads
Docs: https://gitlab.com/imwatsi/native-ads-docs
This is work-in-progress and I'm working toward an alpha release.
How far along am I?
I would say 50% done toward an alpha release.
I've got the basic logic to parse data from the blockchain written. In the dev
branch is where most of the code I'm currently working on resides, which deals with:
- Custom JSON op parsing
- Ad workflow processing
- DB processes
- Server endpoints
- Caching
How it all started
If you're interested in how Native Ads began as an idea, you can read my earlier blog posts, from last year.
In short, it was a Hivemind extension, implemented in my fork of Hivemind. I have since improved and expanded on the idea, deciding to make it a standalone protocol.
Brief overview of how it will work
The aim is to create a protocol that creates enables frontends, community owners and Hive account owners to accept ads that are native to the Hive blockchain. In essence, allowing them to sell ad space and ad time.
How it will work:
- Use a Hive account to activate either a Monetizer Account or an Advertizer Account, or both.
Note: this doesn't require the creation of new Hive accounts. You use existing accounts to "activate" the above for that account.
Monetizer Accounts can be whole frontends (like Hive.blog, 3Speak, PeakD), or individuals who own communities or channels.
They will be able to define ad spaces that they offer, along with various other properties/options. For example:
Advertizer Accounts can be any Hive accounts that want to use Native Ads to reach an audience.
They will be able to create ads, submit them to Monetizer Accounts for scheduled display. For example:
Placing an ad
- If you've activated an Advertizer Account, you can place ads directed at Monetizer Accounts and their spaces.
- You create the ad by creating a post (populated to include Native Ad metadata by the frontends)
- You choose the time you want it to show and the duration
- The protocol will be flexible, so many types of ads will be supported (banner, animations, slideshows, videos, normal posts, etc)
- Once an ad is created, you submit it to the Monetizer Account(s) you want
- You set a bid price (there will be an open market for this)
- Moderators of said Monetizer Account will see live bids for ads to review
- Once reviewed and approved by them, the ad can be paid, after which it is scheduled automatically
I'll be posting frequent updates on Native Ads development in this community. If you have feedback, suggestions or questions, feel free to leave a comment :)
Repo: https://gitlab.com/imwatsi/native-ads
Docs: https://gitlab.com/imwatsi/native-ads-docs