Native Ads Protocol - Weekly Dev Update #1

Words
261
Reading
2 min
Listen
Play
6y

nativeadshiveupdate1.jpg

It's been a week since I started working on the Native Ads protocol, as a standalone protocol. Here's a brief overview of what I have developed in the last week.

work.png

33 commits, 563 additions and 48 deletions, comparing the dev branch before merging into master...

See all my commits here: https://gitlab.com/imwatsi/native-ads/-/commits/master

Caching

I implemented basic caching for accounts, so as blocks are processed, accounts are mapped to database IDs from an in-memory cache, which also holds account properties. This reduces the number of DB queries made as the service runs.

Basic monetizer ops

  • account_init: to initialize monetizer accounts
  • set_props: to update the monetizer account properties

DB schema

  • monetizer_accs table to store the monetizer accounts and their properites
  • advertizer_acc table to store the advertizer accounts and their properties
  • monetizer_spaces table to store spaces that monetizer accounts create
  • ad_posts table to store ads created by advertizer accounts

Improved DB initialization and setup

I refactored the code and changed the logic to allow for a more unified flow and support future migrations. DB checks happen on every startup.

Preparatory code for advertizer ops

I wrote shell code in preparation for advertizer ops and related processes.

Next week's scope

  • Advertizer ops: ad_submit, ad_bid, ad_approve, ad_reject, ad_fund
  • Ad posts creation and updates

I'm aiming for an alpha release within the next 2-3 weeks.

Upon release, the server will be available on: https://native-ads.imwatsi.com, and anyone who wants to run the server can download the source, pip install it according to the README and run. I'll continue improving the setup and installation methods.


Native Ads Protocol - Weekly Dev Update #1 | Ecency