Open points
reviewed: 17 October 2024
Current pool of tasks
- Official Pheix/Ethelia project registration at ФИПС: @pheix-io/ethelia#25;
- Authenticate user via MetaMask in Pheix project: #186:
- fix bugs and UI inconsistency for current implementation;
- introduce secrets interchange for every 10 seconds.
- New
LIVE
server co-location for PM25/Ethelia project; - ERC20-token funding/charging for PM25/Ethelia project, details: @pheix-io/ethelia#37;
- Make different maps/locations availbale in PM25/Ethelia project;
- Migrate from flatfiles (filechains) to PostreSQL in Pheix project: #121;
- 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.
- Support EIP-4844 transactions in Pheix project:
- Implement C-KZG-4844 Raku binding;
- Add support to Pheix
- Run PM25/Ethelia project on Ethereum blobs.
- Infrastructure monitoring and log collecting system via Prometheus→PushGateway→AlertManager: @raku-dossier-prototype#9;
- Extract PM2.5 sensor values from photos in
Dossier
telegram bot (OCR): @raku-dossier-prototype#6; - PM25/Ethelia project launch: @pheix-io/ethelia#40.
Work in progress: new items to be defined and announced.
Pinky paper
Application prototype content should be updated:/pp/application/ (#2);- Ethelia technical concept: Telegram, Geth, Pheix and Ethelia as an add-on module;
- Technical part from marketing perspective: finally we have to do full rewrite of tech part in human/investor readable way, collect details from:
- Ethelia investment presentation: PDF, Video;
- Letter of motivation (#32);
- Glovo KG Startup Competition;
- Running Ethereum node grant;
- Sui x KuCoin Labs Summer Hackathon;
- IT-Park UZ registration at acceleration program;
- Ethelia traction metrics Q1 2023;
- Late startup application form at YC;
- UNICEF Call for Frontier Technology Startups;
- Techstars startup strategy.
- 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 ofStrict
— 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;
- Future improvements, prospects and road map (3 years vision).
Extended technical details
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);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.
Admin panel integration with any web site- Initial ticket #29 and final Integration to possibly any website
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.