Presentamos Achronyme — un lenguaje para pruebas zero-knowledge. Lee el anuncio

Proyectos y Sesiones

Plantillas, persistencia de sesiones, export/import y configuración de proyectos en el playground.

Plantillas

El playground ofrece tres plantillas de proyecto, iguales a ach init --template:

vm

Un programa de propósito general. Esta es la plantilla por defecto.

// src/main.ach
let name = "Achronyme"
print("Hello from " + name + "!")

circuit

Un circuito ZK con prueba inline.

// src/main.ach
let a = 6
let b = 7
let out = a * b

let proof = prove multiply(out: Public) {
    assert_eq(a * b, out)
}

print("Proof generated!")
print("Verified: " + verify_proof(proof).to_string())

prove

Un programa usando hashing Poseidon con un bloque prove.

// src/main.ach
let secret = 0p42
let expected = poseidon(secret, 0p0)

let proof = prove check(expected: Public) {
    let h = poseidon(secret, 0p0)
    assert_eq(h, expected)
}

print("Proof: " + proof.to_string())
print("Valid: " + verify_proof(proof).to_string())

Selecciona una plantilla desde el dropdown en el footer del sidebar. Cambiar de plantilla crea un proyecto nuevo.

Configuración del proyecto

Cada proyecto incluye un archivo achronyme.toml:

[project]
name = "my-project"
entry = "src/main.ach"

[build]
backend = "r1cs"

El playground lee este archivo para determinar:

  • entry — qué archivo compilar y ejecutar (por defecto: src/main.ach)
  • backend — backend de pruebas: r1cs (Groth16) o plonkish (Halo2)

Consulta Configuración del Proyecto para todas las opciones disponibles.

Persistencia de sesiones

Tu trabajo persiste entre recargas de página y reinicios del navegador.

Auto-backup: cada 3 segundos, todos los archivos del proyecto se respaldan en localStorage. Si el servidor pierde tu sesión (después de un reinicio o expiración del TTL), el playground restaura automáticamente desde este backup.

Flujo de restauración de sesión:

  1. Intentar reconectar a la sesión existente del servidor
  2. Si el servidor la perdió, crear una nueva sesión y restaurar archivos desde el backup de localStorage
  3. Si no hay backup, cargar la plantilla vm por defecto

Las preferencias de layout (ancho del sidebar, posición del panel, visibilidad del panel) también se persisten en localStorage.

Export & Import

Export

Haz clic en Export en el footer del sidebar para descargar tu proyecto como un archivo project.ach.json. Esto incluye todos los archivos y sus contenidos.

Import

Haz clic en Import para cargar un proyecto previamente exportado. El playground crea una sesión nueva y escribe todos los archivos desde el JSON.

El formato de exportación es JSON simple:

{
  "files": {
    "achronyme.toml": "[project]\nname = \"demo\"\nentry = \"src/main.ach\"\n",
    "src/main.ach": "print(\"Hello!\")\n"
  },
  "exportedAt": "2026-03-29T12:00:00.000Z"
}

Límites

RecursoLímite
Archivos por proyecto20
Tamaño de archivo32 KB
Workspace total256 KB
Extensiones permitidas.ach, achronyme.toml
TTL de sesión2 horas (inactivo)
Sesiones concurrentes máximas200
Presupuesto de instrucciones100M instrucciones
Tamaño del heap256 MB
Timeout de ejecución10 segundos
Output de print1 MB
Navigation