Prácticas recomendadas de entrega
La entrega empresarial en Solana significa que los lanzamientos son reversibles, el bytecode es verificable y la observabilidad demuestra el estado en minutos después del despliegue. Estas prácticas reducen la tasa de fallos de cambio y el MTTR.
Cómo usar esta lista
- Validar la promoción a mainnet en las secciones A y B
- Aplicar C antes de cualquier lanzamiento público o hito de TVL
- Revisar D mensualmente con los líderes de plataforma y seguridad
A - Verificable y Reversible
- Compilar con
anchor build --verifiableen CI. Hash del artefacto publicado en cada etiqueta. - Conservar los últimos tres archivos
.sopor programa. La reversión no depende del portátil de un ingeniero. - Ejecutar
solana-verifyantes y después del despliegue en mainnet. El hash coincide con las notas de lanzamiento. - Documentar el árbol de decisión entre reversión y corrección hacia adelante. Enlazado desde cada ticket de despliegue.
- Nunca desplegar en mainnet desde una rama no fusionada. La propuesta de Squads hace referencia al SHA de git.
B - Autoridad y Gobernanza
- Autoridad de actualización en multisig antes del lanzamiento. Claves de emergencia solo en el documento de "romper cristal".
- Carteras de despliegue separadas por entorno. Las claves de Devnet nunca tocan los programas de mainnet.
- Bloqueo temporal en actualizaciones visibles por la comunidad cuando la política lo requiera. Ruta de emergencia documentada.
- Instrucción de pausa probada trimestralmente. Contención en menos de 5 minutos en simulacro.
- IDL semver en las notas de lanzamiento. Los clientes fijan tipos compatibles de
@coral-xyz/anchor0.32.1.
C - Tren de Lanzamiento Coordinado
- Ventana de cambio única para actualizaciones de IDL que rompen compatibilidad. Programa + frontend + indexador en sincronía.
- Prueba de humo en Devnet obligatoria. Los flujos principales se simulan y envían antes de mainnet.
- Banderas de funciones para nuevas rutas de instrucciones. Guardia en cadena para banderas críticas de seguridad.
- La validación del entorno falla la compilación si falta
PROGRAM_ID. La vista previa no puede apuntar a mainnet. - Equipo de indexación notificado antes del despliegue. Plan de respaldo para nuevas cuentas o eventos.
D - Despliegues Observables
- Transacción de aterrizaje sintética en los 15 minutos posteriores al despliegue. Alerta en caso de fallo.
- Panel de tasa de errores del programa por etiqueta de lanzamiento. Comparar con la línea base pre-despliegue.
- Configuración de failover de RPC en el cliente de producción. URLs primaria y secundaria probadas.
- Métricas DORA revisadas mensualmente. Frecuencia de despliegue, tasa de fallos, tendencias de MTTR.
- Elementos de acción post-mortem cerrados en 30 días. O escalada ejecutiva.
Preguntas frecuentes
¿Qué sección bloquea las correcciones urgentes?
La autoridad de pausa de la sección B nunca se bloquea; se requieren A-D completas antes de volver a habilitar el tráfico completo después de la corrección.
¿Tamaño mínimo de equipo para esto?
Dos ingenieros pueden seguir A-B; C-D escalan con el tamaño del lanzamiento.
¿Los compilaciones verificables ralentizan CI?
Pequeño costo frente al costo de auditoría e incidentes; caché del directorio de destino.
¿Programas inmutables?
Aún así aplicar prácticas de cliente y operaciones; omitir elementos específicos de actualización.
¿Cómo probar la observabilidad?
Enlazar el panel de Grafana y la ejecución de la verificación sintética en el ticket de despliegue.
¿Actualización de Agave en el tren?
Añadir elemento de revisión SIMD; probar en Surfpool 0.12.0 antes del despliegue del programa en mainnet.
¿Validación de auditoría externa?
Sin fondos de usuario en mainnet hasta que las conclusiones de la auditoría de nivel Alto se cierren o se acepten en ADR.
¿Quién es responsable del cumplimiento de la lista?
El líder técnico firma el ticket de despliegue; seguridad revisa B mensualmente.
¿Relación con DORA?
Estas prácticas mejoran directamente la tasa de fallos de cambio y el MTTR.
¿Omitir MVP de startup?
Nunca omitir A-B si mainnet tiene fondos de usuario; C-D pueden incorporarse gradualmente.
Relacionado
- Métricas DORA para Web3 - medir resultados
- Estrategia de Actualización de Programas - detalle de la actualización
- Listas de verificación de prevención - prevención de incidentes
Versiones de la pila: Esta página fue escrita para Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1, anchor-lang 0.32.1, Rust 1.91.1, @solana/kit 7.0.0, Surfpool 0.12.0, y LiteSVM 0.6.x.