Skip to content

Open points

reviewed: 17 October 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:
    • fix bugs and UI inconsistency for current implementation;
    • introduce secrets interchange for every 10 seconds.
  3. New LIVE server co-location for PM25/Ethelia project;
  4. ERC20-token funding/charging for PM25/Ethelia project, details: @pheix-io/ethelia#37;
  5. Make different maps/locations availbale in PM25/Ethelia project;
  6. Migrate from flatfiles (filechains) to PostreSQL in Pheix project: #121;
  7. 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: #174.
  8. Support EIP-4844 transactions in Pheix project:
    • Implement C-KZG-4844 Raku binding;
    • Add support to Pheix
    • Run PM25/Ethelia project on Ethereum blobs.
  9. Infrastructure monitoring and log collecting system via PrometheusPushGatewayAlertManager: @raku-dossier-prototype#9;
  10. Extract PM2.5 sensor values from photos in Dossier telegram bot (OCR): @raku-dossier-prototype#6;
  11. PM25/Ethelia project launch: @pheix-io/ethelia#40.

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

Pinky paper

  1. Application prototype content should be updated: /pp/application/ (#2);
  2. Ethelia technical concept: Telegram, Geth, Pheix and Ethelia as an add-on module;
  3. Technical part from marketing perspective: finally we have to do full rewrite of tech part in human/investor readable way, collect details from:
  4. 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;
  5. Future improvements, prospects and road map (3 years vision).

Extended technical details

  1. Keep all Ethelia functionality in separate non-Pheix module(s): so the idea to create a full tech features list and isolate it from Pheix/rawhide/ethelia-features/ (#3);
  2. Create Raku module bulk and perform smoke integration test with Pheix (#4):
    • configuration setup for non native add-on module;
    • API (with routing) integration for non native add-on module;
    • admin panel integration.
  3. Admin panel integration with any web site
  4. Extended list of Pheix principal updates:
    • Release Candidate 2 milestone improvements.

Pheix database on blockchain optimization/improvement

Add new bytes32 data member to PheixAccess event at PheixDatabase smart contract.

The idea is to use that new event topic to store data directly on blockchain via built-in Ethereum event mechanism. Consider insert or update: these functions store data via mappings and other solidity-driven features. The data is actually a |-separated string like:

0xd67495f282530196a6db3441ce39eaac06faf22f|aqicn-32|Mon, 22 Jul 2024 12:36:12 GMT|ewogICJlbnJpY2htZW50IjogewogICAgInRpdGxlIjogInBhcmsgSW0uIEEuQm90YWxpZXZhIiwKICAgICJwcm9maWxlIjogImh0dHBzOi8vYXFpY24ub3JnL3N0YXRpb24vQDM5ODA3Ny8iLAogICAgInBvc2l0aW9uIjogewogICAgICAibG5nIjogNzQuNTg1NjkyOCwKICAgICAgImxhdCI6IDQyLjkwNjk0NzIKICAgIH0KICB9LAogICJzZW5zb3JkZXZpY2UiOiAiRXRoZWxpYTo6U3RhdGlvblBhcnNlcjo6QVFJQ04iLAogICJzZW5zb3J2YWx1ZSI6ICI0MyIKfQ==|parkImABotalieva

That string is stored in mapping with the specific metadata: id and compression flag, which we can also store in event:

event PheixAccess (
    uint8   indexed mcode,
    bytes32 indexed table,
    uint256 indexed rowid,
    bytes32         data,
    uint8           compression,
);

Open points / To be discussed

How to perform delete/remove functions on event

Just add indexed zombie member of uint8 type — if it's set to 1: it means the deleted record and we should not include it in the full table representation.

How to collect full table from event list

By table and zombie members — table should contain searched table name and zombie should not set to 0.


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.