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.
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 accountsset_props
: to update the monetizer account properties
DB schema
monetizer_accs
table to store the monetizer accounts and their properitesadvertizer_acc
table to store the advertizer accounts and their propertiesmonetizer_spaces
table to store spaces that monetizer accounts createad_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.