Make the SRS and circuit key cache directories configurable

Abierto
#3,422 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

@HusseinAdeiza ya está trabajando en esto.

Desde el 27/9/2026.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
58/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
rust

Línea de trabajo

Comienza en circuits/key_provider.rs, en for_non_recursive_circuit y for_recursive_circuit, y luego inspecciona la implementación de Default en circuits/trusted_setup.rs. Sigue cómo el agregador y el firmante llegan a protocol/aggregate_signature/clerk.rs y verifica que la ubicación configurada de la caché se propague mientras el directorio temporal siga siendo el predeterminado. Documenta las expectativas de espacio en disco y persistencia de la caché.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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
Lenguaje dominante
Rust
Estrellas
155
Forks
52
Merge medio
2 d 17 h
PR fusionados (30 d)
37

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de IntersectMBO/mithril

Todos los issues de IntersectMBO/mithril

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.