Skip to content

Open points

reviewed: 12 December 2024

Current pool of tasks

  1. Official Pheix/Ethelia project registration at ФИПС: @pheix-io/ethelia#25:
  2. Authenticate user via MetaMask in Pheix project: #186:
  3. MetaMask feature post-merge:
  4. Pheix project updates/improvements/enhancements:
    • Migrate from flatfiles (filechains) to PostreSQL in Pheix project: #121;
    • Support EIP-4844 transactions in Pheix project #198:
    • Log all requests and responses in Pheix project: #197;
    • Database on blockchain optimization/improvement;
    • Push to fez ecosystem: https://raku.land/zef:knarkhov/Pheix;
    • Add /metrics route for Prometheus, consider RED, USE and LETS metrics; check Prometheus client in Raku;
    • Add a new slide to index page slider with the details about Matrix workspace and PM25/Ethelia project Telegram channel; good case — A. Lebedev's «Контент везде» slide with links to the accounts in the most popular social networks and QR to the landing page with all available links as well. Search Add to Ethelia Open Points in Google Calendar for more details;
    • Add valid favicon;
    • Reload captcha buttom/icon — it should sync session token on host page and reload actual captcha challenge;
    • Skip mandatory local signer node check if the valid keystore file is setup up.
  5. New LIVE server co-location for PM25/Ethelia project:
    • buy hardware:
    • initial setup: Ubuntu 24.04.1 LTS;
    • cable management;
    • perform hot-reserve test before the co-location.
  6. ERC20-token funding/charging for PM25/Ethelia project, details: @pheix-io/ethelia#37;
  7. Make different maps/locations availbale in PM25/Ethelia project;
  8. Upgrade Ethereum Local Network:
    • Cancun infrastructure: separate validator(s) and 2x Geth execution clients with built-in beacon clients;
    • Run clef instance for one node (1st or 2nd, no matter);
    • Upgrade/refactor tests for smart-contacts project according the new network upgrades: @smart-contracts#33;
    • Introduce clef authentication module in Pheix project: #174;
    • Remove personal namespace from start up script: @pheix-research/ethereum-local-network#9
  9. Infrastructure monitoring and log collecting system via PrometheusPushGatewayAlertManager: @raku-dossier-prototype#9:
  10. PM25/Ethelia project and Dossier telegram bot:
    • Extract PM2.5 sensor values from photos (OCR): @raku-dossier-prototype#6;
    • Smart telegram bot monitoring and possible restart: @pheix-research/raku-dossier-prototype#9;
    • Embed micro web-server with /metrics route to deliver generic bot metrics to Prometheus;
    • Asynchronous dumper for keystores, dossiers, logs, configs and other important data stored inside the container: safe remove/prune/delete feature:
      • Add async dump feature to Telegram bot — create tgz dump file on bot start, save tgz dump file to shared folder;
      • Add crontab job to copy tgz dump file from share folder to archive location;
    • Add /faucet 0xdf...3c feature to bot: a simple way to get some AlaAuETH to get started with authentication feature;
    • Maps (single and animated) in dark theme.
  11. PM25/Ethelia project launch: @pheix-io/ethelia#40;
    • Sync only updated local records in a threshold period: @raku-ethelia#12;
    • Sync local and remote databases via different endpoints: conside sync every hour, so let's sync via Alchemy on even hours and local Geth node on odd hours;
    • Describe and test the approaches to make a blockchain sync reliable and endpoint independent. Currently we can actually switch between Alchemy and Local nodes, in theory (it should be tested) we can open VPN tunnel to AC78 and use it temporarily (also we can open VPN tunnel right at the sync start from the helper script) — anyway finally we have to get some kind of documentation with all these details;
    • trx-advancer: review latest implementation and add (???) functionality to get transactions from a mempool, in general we have to introduce the tools for quick identification and fixing the next situation:
      • current nonce is X;
      • we commit signed transaction with nince X+100: transaction stuck and will never be mined;
      • trx-advancer should be able to find that transaction and somehow restore the nonce sequence: get stuck transaction's input and create a new transaction with X+1 nonce;
    • Update Ethereum authenticator and Telegram bot containers to use shared folders for external data: we have to be able to delete and create containers without data loss.
  12. Migrate to HTTP::Tiny as a generic HTTP transport at:
  13. Official Ethelia Landing Page improvements:
    • Add authentication form and all related features;
    • Update content (slide with details):
      • Cube and Sphere smart sensors;
      • pm25.online service;
      • API documentation link to main navigation block;
      • Getting started page.
  14. Update Cube sensor new prototype:
    • new STL model (CubeV2) with:
      • no holes;
      • non-removable front panel (reference: the plastic prototype with putty);
      • sharp edges: cantellation.
    • Print CubeV2 in plastic;
    • CubeV2 in aluminum.
  15. Set up and run VPN on ala-archa.

 Work in progress: new items to be defined and announced. 

Pinky paper

  1. Ethelia technical concept: Telegram, Geth, Pheix and Ethelia as an add-on module;
  2. Technical part from marketing perspective: finally we have to do full rewrite of tech part in human/investor readable way, collect details from:
  3. Monetization and product payback:
    • PM2.5 project funding model: #37;
    • since fixed limit for event search is introduced, different paid subscriptions could increase/decrease this setting;
    • event subscription«events-on-air» feature on remote endpoint or in administrative panel, also consider filters and proxy/relay to external services like Telegram, Matrix, Slack, Discord or traditional email as a future improvements;
    • plan «pay per device» — we will define the limit for free-of-charge event sources, any additional source should be paid;
    • plans «pay per request» or «pay per auth» — request cost is 20x lower for example, but auth is much more flexible for enterprise clients;
    • generally Ethelia is a gateway to public, private (scale the higher number of nodes), virtual (cloud hosted) and local (single CPU) networks — there could be any pricing plans, like «pay per node» — increase number of nodes and make it much more decentralized, «pay per CPU» — scale your local network, «pay per resource» — manage your cloud;
    • plan «pay per transaction»/pheix-io/unilode/-/issues/1#subscription-details;
    • since the registration model via Telegram bot is used, we can introduce different paid plans in TON coins, the most reasonable one «pay per function» — customer pays for advanced bot functions (mostly taken from administrative panel);
    • admin panel integration to 3rd-party websites requires cross domain cookies to be allowed, so SameSite should be set to None instead of Strict — it's configurable and customer might be charged to allow that feature;
    • investment models for PM25/Ethelia project based on ERC20 token listings and long-term historical data usage/sharing perspectives: PDF;
  4. Future improvements, prospects and road map (3 years vision).

Extended technical details

Pheix database on blockchain optimization/improvement

It was moved to Deprecated section: /rawhide/deprecated/op/event-driven-database.

This optimization/improvement has no sense in general cause of use of EIP-4844 blob transactions. The PheixDatabase smart contract was improved at @pheix-research/smart-contracts#48.


Authorization on event source

Now we have to pass auth on Ethereum node and get the access token. This token might be changed in some time interval, so:

  • deliver new token somehow to event source;
  • just add authorization step to event source software/firmware.

Both solutions are very expensive and we need something lightweight and reliable. I suggest to consider subscription feature available in Geth.

Static tokens were introduced at 2a720ea3 and this is the possible compromise for now.