Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

feat: show bytes paid for by pools whose owner is not a registered operator

Aperta
#65 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
42/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
typescript

Direzione di ricerca

Start with worker/src/stats.ts to trace pool owner and operator tracking, PoolRedeemed handling, and the totals and hourly/daily point shapes; then inspect wrangler.jsonc for internal owner configuration. Check website/lib/stats.ts to see whether its validator accepts additive fields, and locate the stats page’s headline tiles, settlements table, and emptyLabel handling. Done means external bytes and USDC are reported in all-time and rolling-24h totals and hourly series, the page labels the measure as an upper bound, and both worker and website accept the shared schema.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement

Problem

The page shows bytes served and USDC settled. It does not say who paid. On the live file today (stats-421614.json, 2026-10-24):

registered operators 9
pools opened 18
distinct pool owners 13
pools whose owner is not a registered operator 8 (5 owners)
median of the last 50 settlements 10.5 GB

Most pools belong to the operators themselves, and the uniform ~10.5 GB settlements look like node-to-node fills and the smoke-test load generator, not customers. The network is mostly paying itself. The one line an investor or a customer will read is bytes paid for by pools whose owner is not a registered operator, and the page cannot show it.

Proposal

Add an external demand figure next to bytes served: all-time and rolling-24h bytes (and USDC) paid from pools whose owner is not in the registered set, with the same hourly series the other headline metrics have.

Worker side (worker/src/stats.ts already keeps poolOwners and the operator set, and PoolRedeemed lanes carry bytesPaid per pool):

  • On poolRedeemed, classify the pool by its owner at that moment: internal when the owner is a registered operator (or on a INTERNAL_OWNERS list in wrangler.jsonc for Labs wallets that are not operators, such as the smoke-test buyer), else external.
  • Accumulate totals.externalBytesPaid / totals.externalValuePaid, and add externalBytesPaid to DailyPoint and HourlyPoint.
  • Keep bytesPulled per region as is; this is a different cut of the same events.

Page side: a headline tile "external demand" with the 24h delta, and a line under the settlements table saying what counts as external. Empty states follow the existing emptyLabel switch per block.

Caveats

  • An operator may fund pools from a buyer wallet that differs from its registered operator address; the classification is then wrong in the generous direction (it over-counts external). The INTERNAL_OWNERS list is the fix for known cases; the caption says the figure is an upper bound.
  • USDC from PoolRedeemed is what nodes redeemed, not what pools deposited; label it "paid", not "spent".
  • Schema change is cross-repo. website/lib/stats.ts (decdn/website) fetches and shape-checks the same file. New fields are additive, but check that its validator tolerates them before the worker ships, or ship both in the same window.

Related

Lingua principale
TypeScript
Stelle
2
Fork
0
Merge medio
10h 46m
PR unite (30g)
37

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di decdn/stats

Tutte le issue di decdn/stats

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.