For the complete documentation index, see llms.txt. This page is also available as Markdown.

Keys y certificado del pool

Generar las claves frías, KES y VRF de un stake pool, y emitir el certificado operacional. Incluye cálculo del período KES actual y rotación de claves.

Las claves son el corazón de tu pool. Si las pierdes o las expones, pierdes el control del pool. Tómate este paso con calma.

Qué claves necesitas

Clave
Dónde vive
Para qué sirve

Cold key (node.skey / node.vkey)

Air-gapped

Firma certificados operacionales

KES key (kes.skey / kes.vkey)

Nodo caliente

Firma bloques (caduca cada ~62 días)

VRF key (vrf.skey / vrf.vkey)

Nodo caliente

Prueba de elección de slot

Op-cert (node.cert)

Nodo caliente

Vincula KES con cold key

Counter (cold.counter)

Air-gapped

Evita replay attacks en op-certs


1. Generar las cold keys

En la máquina air-gapped:

cardano-cli node key-gen \
  --cold-verification-key-file $HOME/cold-keys/node.vkey \
  --cold-signing-key-file      $HOME/cold-keys/node.skey \
  --operational-certificate-issue-counter-file $HOME/cold-keys/cold.counter

Protege los archivos en cuanto los generes:

chmod 400 $HOME/cold-keys/node.skey
chmod 400 $HOME/cold-keys/cold.counter

2. Generar las claves VRF

En la máquina air-gapped:


3. Generar las claves KES

En el nodo caliente:

Las claves KES caducan por diseño: cada período KES dura un número fijo de slots. Cuando caducan, el nodo deja de forjar bloques hasta que emites un nuevo op-cert.


4. Calcular el período KES actual

Necesitas saber en qué período KES estás para emitir el certificado correctamente. En el nodo caliente:

El campo correcto es .slot, no .slotNo. El formato de salida del CLI cambió en versiones recientes y .slotNo ya no existe.

El resultado es un número entero, por ejemplo 4385. Ese es el --kes-period que usarás en el siguiente paso.


5. Emitir el certificado operacional

Este paso requiere juntar el kes.vkey (del nodo caliente) con el cold.counter y node.skey (del air-gapped) en el mismo lugar — idealmente el air-gapped con el kes.vkey copiado temporalmente.

En la máquina air-gapped:

Sustituye <KES_PERIOD_ACTUAL> por el número que calculaste antes.

Después de firmar:

  • El cold.counter se incrementa automáticamente — no lo toques manualmente.

  • Copia el node.cert resultante al nodo caliente.

  • Las cold keys y el counter vuelven offline de inmediato.


6. Configurar el nodo para usar las claves

En el archivo de servicio del BP, referencia las tres claves calientes:


Cuándo renovar el op-cert

Cardano mainnet tiene slotsPerKESPeriod = 129600 y maxKESEvolutions = 62. Un op-cert dura aproximadamente 62 días. Cuando el período KES del certificado supera el máximo, el nodo para de forjar.

Puedes verificar cuánto tiempo te queda en cualquier momento:

Proceso de renovación:

  1. Genera nuevas claves KES en el nodo caliente.

  2. Calcula el período KES actual.

  3. Lleva el kes.vkey al air-gapped.

  4. Emite nuevo op-cert con node issue-op-cert.

  5. Copia el nuevo node.cert al nodo caliente y reinicia el nodo.


Resumen de permisos

Los .skey y el counter son siempre 400, sin excepciones.

Última actualización