Open points
reviewed: 1 April 2025
Current pool of tasks
Official Pheix/Ethelia project registration at ФИПС:@pheix-io/ethelia#25:- script to calculate sourcebase in Kbytes: sources-to-singlefile.v2.raku;
- collect all sources to single file: @pheix-io/ethelia#25→1448397008, PDF;
- Application is sent on 5 November 2024: @pheix-io/ethelia#25→2194578265;
- Project is registered on 18 November 2024: @pheix-io/ethelia#25→2218888950.
Authenticate user via MetaMask in Pheix project:#186:- fix bugs and UI inconsistency for current implementation:
- unset loading flag on exception @pheix/dcms-resources#6a04b37d;
- tweak UI on MetaMask exceptions/errors @pheix/dcms-resources#8a3e9413.
- public key interchange for opened session:
- research draft: @pheix/dcms-raku#186→2185159720;
- implementation:
- CI/CD pipelines: @pheix/dcms-raku#186→2216696042.
- fix bugs and UI inconsistency for current implementation:
- MetaMask feature post-merge:
- write an announcement post on feature merged to:
Feature video intro, short on youtube;- narkhov.pro;
- pheix.org;
Telegramand Matrix.
- sanitize auth algorithms:
- Extended balance-dependent auth @pheix-research/talks#19;
- Extended secret-dependent auth
- write an announcement post on feature merged to:
- Pheix project updates/improvements/enhancements:
Migrate from flatfiles (filechains) to PostreSQL: #121→ !25;Support EIP-4844 transactions in Pheix project #198→ !24:- Implement C-KZG-4844 Raku binding @pheix/raku-node-ethereum-kzg;
- Add support to Pheix project 28f2dff1;
- Add
receive()
or/andfallback()
functions toPheixDatabase
@pheix-research/smart-contracts#48; - Run PM25/Ethelia project on Ethereum blobs;
- Cover
set_blob_data
andget_blob_data
methods by unit tests: @pheix/dcms-raku#198→2339213933.
Log all requests and responses in Pheix project:#197;Database on blockchain optimization/improvement;Push to: https://raku.land/zef:knarkhov/Pheix;fez
ecosystem- Add new Release milestone, sort and assign the issues:
Milestone page:From the Basement;- Create the blog posts:
- Official announcement at pheix.org;
- Detailed post at narkhov.pro with details about further releases names.
Add@pheix/dcms-raku#204:/metrics
route for Prometheus- Basic runtime metrics via
Telemetry
module; $*KERNEL
class;- FastCGI environment;
- Basic CMS metrics;
- Data from
Pheix::Controller::Stats
per week:hosts
andvisits
; - Data from log: entries, logons, etc...
- Basic runtime metrics via
- Fix Null captcha — invalid frontend token old well-known issue: @pheix/dcms-raku#216;
- 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: @pheix/dcms-raku#205;
- Add valid favicon: @pheix/dcms-raku#206;
- Reload captcha buttom/icon — it should sync session token on host page and reload actual captcha challenge: @pheix/dcms-raku#207;
- Skip mandatory local signer node check if the valid
keystore
file is setup up: @pheix/dcms-raku#208; - Delete all filechain files frome system folder: @pheix/dcms-configuration#3;
Update Donate page:@pheix/dcms-raku#211;Add link to version commit hash instead of;pheix.org
in generic template footerMigrate from Holešky to Hoodi Ethereum test network:@pheix/dcms-raku#203;Report details on addon crashed at initialization stage:@pheix/dcms-raku#200.
New@pheix-io/ethelia#42:LIVE
self-located servers for PM25/Ethelia projectlaunch self-located GitLab runner— pipeline/jobs samples:launch self-located new PM25/Ethelia project server@pheix-io/ethelia#42→2295066124;perform hot-reserve test on self-location, quick test aproach@pheix-io/ethelia#44:- set up and run OpenVPN on self-located server;
- sync with stations via local node;
- change local storage
local/holesky/ExtensionEthelia
configuration at$HOME/nvme/home/apache_root/pheix.org/www/conf/addons/ExtensionEthelia/config.json
to hot-reserve node on192.168.10.30
; - sync with stations via hot-reserve node.
- ERC20-token funding/charging for PM25/Ethelia project, details: @pheix-io/ethelia#37;
- Make different maps/locations available in PM25/Ethelia project;
- 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
- Infrastructure monitoring and log collecting system via Prometheus→PushGateway→AlertManager: @raku-dossier-prototype#9:
- use AlertManager Matrix bot as a webhook receiver;
- use Docker Compose for deployment;
- 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, savetgz
dump file to shared folder; - Add
crontab
job to copytgz
dump file from share folder to archive location;
- Add async dump feature to Telegram bot — create
- 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;- Allow to store PM2.5 sensor data for different locations: @raku-dossier-prototype#12.
- 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: consider sync every hour, so let's sync via Alchemy on even hours and local Geth node on odd hours@raku-ethelia→6a8c2dff;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@pheix-io/ethelia#44;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 detailstrx-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 withX+1
nonce;
- current nonce is
- 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;
- Sync different tables/locations: @raku-ethelia#13.
- Migrate to
HTTP::Tiny
as a generic HTTP transport at:Net::Ethereum
: @raku-net-ethereum#32WRSLL
: @what-retirement-should-look-like#3Dossier::Transport::Request
: b049bfd7
- 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:
add link to main navigation blockand translate to English.
- Update Cube sensor new prototype:
- new STL model (CubeV2) with:
- ready to plug-in PM2.5 sensor: @pheix-io/ethelia#43;
- no holes;
- non-removable front panel (reference: the plastic prototype with putty);
- sharp edges: cantellation.
- Print CubeV2 in plastic;
- CubeV2 in aluminum.
- new STL model (CubeV2) with:
Set up and run VPN on: screenshot;ala-archa
- Perform primary to secondary server switch on outages or issues @pheix/dcms-raku#209:
- Pheix project headless and tailless configurations: 3e46ac4f0;
Nginx
on Trappist-1 server with a load-balancing configuration both to Ala-Archa and Southern-Deadend-5.
Work in progress: new items to be defined and announced.
Pinky paper
- 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:
- Startup World Cup Ulan-Bataar 2024;
- 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
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.