Topology / mev stack

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

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.