Make the SRS and circuit key cache directories configurable

Aperta
#3,422 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

@HusseinAdeiza ci sta già lavorando.

Dal 27/9/2026.

Valutazione

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

Direzione di ricerca

Inizia in circuits/key_provider.rs, su for_non_recursive_circuit e for_recursive_circuit, quindi esamina l’implementazione di Default in circuits/trusted_setup.rs. Segui il percorso con cui l’aggregator e il signer raggiungono protocol/aggregate_signature/clerk.rs e verifica che la posizione configurata della cache venga propagata, mentre la directory temporanea rimane quella predefinita. Documenta le aspettative relative allo spazio su disco e alla persistenza della cache.

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

Descrizione

cryptography :closed_lock_with_key: to-groom :thinking:

Why

Both caches are hardcoded under std::env::temp_dir(). On a node, /tmp can be a tmpfs, can be wiped on reboot and is not sized for a multi hundred megabyte SRS, so an operator has no way to place the cache on suitable storage.

What

Let the cache location be chosen by the caller, and keep the current temporary directory only as the default.

How

  • Expose the cache root of KeyProvider instead of hardcoding std::env::temp_dir() (circuits/key_provider.rs, for_non_recursive_circuit and for_recursive_circuit)
  • Expose the cache root of TrustedSetupProvider instead of hardcoding it in its Default implementation (circuits/trusted_setup.rs)
  • Thread the configured location from the aggregator and the signer down to Clerk (protocol/aggregate_signature/clerk.rs)
  • Document the disk space and the persistence expectations of the cache directory
Lingua principale
Rust
Stelle
155
Fork
52
Merge medio
2g 17h
PR unite (30g)
37

Preparare l'ambiente

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 IntersectMBO/mithril

Tutte le issue di IntersectMBO/mithril

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.