Document and improve sync strategy for large public faucets
- Vorherrschende Sprache
- Rust
- Sterne
- 78
- Forks
- 129
- Ø Merge
- 4 T. 14 Std.
- Gemergte PRs (30 T.)
- 52
Beschreibung
## Problem
Pioneer feedback reports that public faucets become slow and difficult to reinitialize as usage grows.
When a public faucet has accumulated a large amount of history, client re-initialization and sync can take several minutes. Developers end up implementing custom sync logic to avoid full or unnecessary sync work.
## Why this matters
Faucets are one of the first account types app developers use. If the simple faucet path works only for small examples, every production-ish app has to rediscover the same sync strategy under load.
This is especially painful for public test faucets, where high usage is expected and where new clients may need to initialize from an already-large account.
## Proposed scope
Define the recommended sync strategy for large public faucets and improve the client where the current APIs make that strategy hard to implement.
Potential areas to cover:
- avoid unnecessary full sync work for large public faucet accounts,
- clarify when nullifier sync is required for faucet operators vs. ordinary users,
- expose or document a lighter initialization path for faucet clients,
- document how account storage/vault sync should be handled for large faucets,
- align with ongoing `StateSync` and large-account sync refactors.
## Acceptance criteria
- The client team has a documented recommended strategy for initializing/syncing large public faucets.
- Developers do not need custom ad hoc sync logic for common high-volume faucet use.
- Any required client API changes are identified or implemented.
- The docs explain which sync operations faucet operators actually need.
- The issue is linked to broader large-account / `StateSync` work.
## Related context
- 0xMiden/miden-client#2038
- 0xMiden/miden-client#2102
- 0xMiden/miden-client#2015
Beitragsleitfaden
Rechercherichtung
Überprüfen Sie die verlinkten Issues (#2038, #2102, #2015) im miden-client-Repository, um die Synchronisationsprobleme zu verstehen. Untersuchen Sie die Synchronisations-APIs des Clients und die Refactorings von StateSync. Identifizieren Sie, welche Operationen für Faucet-Betreiber im Vergleich zu Benutzern notwendig sind. Dokumentieren Sie eine Strategie, um vollständige Synchronisationen zu vermeiden, und schlagen Sie bei Bedarf API-Änderungen vor.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- rust
- Bereich
- backend-api-design, documentation
- Issue-Typ
- Dokumentation
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100