mevnode_sol daje chain access. mevnode_bot robi produkt, ingest i execution.
Ten układ rozdziela warstwę validatora od warstwy aplikacyjnej. Na sol
trzymasz tylko Agave, Yellowstone i lokalne RPC. Na bot działa
single-node k3s z frontendem, API, DLOB, strategiami i bazami danych.
mevnode_sol
bare metal / validator host
Agave validator
Źródło stanu chaina, snapshotów i lokalnego read/write RPC.
127.0.0.1:8899 RPC
10.91.0.1:10000 Yellowstone gRPC
10.91.0.1:8999 Prometheus plugin metrics
Write capability
Bot może później używać lokalnego RPC przez proxy lub iść bezpośrednio przez TPU/Jito.
Node-only responsibilities
snapshot recovery
accounts index
geyser / yellowstone plugin
node metrics
wg0 / yellowstone / rpc / metrics
low latency read + controlled write
mevnode_bot
single-node k3s / app + execution host
Read plane
yellowstone-consumer: bierze live stream z 10.91.0.1:10000
trade-ingestor: transformuje i dystrybuuje dane aplikacyjne
dlob-publisher: dociąga stan kont przez RPC i buduje DLOB
dlob-server: wystawia gotowy widok dla API i UI
Execution plane
strategy-engine: decyzje tradingowe
risk-manager: limity i walidacja
order-manager: lifecycle zleceń
tx-router: wybiera RPC, TPU albo Jito
Data plane
Postgres: trwały storage, pozycje, historia, config
Hasura: warstwa GraphQL nad Postgres
Redis: cache, pub/sub, szybki stan DLOB
ClickHouse: opcjonalnie później pod cięższą analitykę
Product and ops
frontend + api + ingress
Prometheus + Grafana
Portainer agent dla widoczności klastra w Portainerze
GitOps: Argo lub Flux z Gitea
Read path
Yellowstone gRPC daje live account updates, sloty i transakcje.
Agave RPC zostaje do odczytów punktowych typu
getAccountInfo, getMultipleAccounts,
getHealth i getLatestBlockhash.
Write path
Wysyłka transakcji nie idzie przez Yellowstone. To robi
RPC, TPU albo Jito.
Dzięki temu read plane i write plane są od siebie operacyjnie odseparowane.
Deployment rule
Wszystko aplikacyjne i webowe ląduje na mevnode_bot.
Wszystko validatorowe zostaje na mevnode_sol.
To upraszcza debug, upgrade i kontrolę ryzyka.
Docelowy przepływ: mevnode_sol -> wg0 -> yellowstone-consumer / dlob-publisher -> redis / postgres -> api -> frontend.
Osobno działa execution path: strategy-engine -> tx-router -> RPC / TPU / Jito.