Mejores prácticas para Solana Pay y Actions
25 prácticas para flujos seguros y descubribles de Pay y Actions.
-
HTTPS en todas partes: Las Actions, iconos y callbacks deben usar TLS (Seguridad y Verificación).
-
Implementar OPTIONS CORS: Las billeteras pre-vuelan POST; la ausencia de OPTIONS rompe los flujos.
-
GET solo para metadatos: Nunca modifiques el estado en las rutas de acción GET.
-
Simular transacciones POST: Devuelve solo transacciones de red exitosas en la simulación.
-
Verificar pagos en el servidor: Referencia la cuenta + monto vía RPC (Conceptos básicos de Solana Pay).
-
Referencia única por pedido: Previene errores de repetición y conciliación.
-
Lamports
bigint: Consistente con los tipos del kit 7.0.0. -
Blockhash fresco por POST: No usar transacciones cacheadas.
-
Instrucciones de mínimo privilegio: Las Actions son objetivos de alto riesgo para phishing.
-
Alojar iconos de Actions localmente: Evita la manipulación de enlaces externos.
-
Limitar la tasa de endpoints POST: Previene el abuso de RPC.
-
Ajustar CORS en producción: Comodín solo para desarrollo.
-
Claridad del cluster: Metadatos o documentación que indiquen devnet vs mainnet.
-
Etiquetas legibles para humanos: La truncación de la vista previa de la billetera es real.
-
Probar en múltiples billeteras: Phantom, Solflare como mínimo.
-
Probar la expansión de Blink: Icono, título y botón antes del lanzamiento de la campaña.
-
Registrar firmas: Analíticas y soporte para Actions completadas.
-
Nunca devolver secretos en JSON: Solo transacciones en base64.
-
Autenticación para Actions patrocinadas: Límite por usuario/día.
-
Usar Codama para ixs de programas: Evita discriminadores codificados a mano.
-
Monitorear dominios clonados: El phishing copia tu UI de Action.
-
Educar a los usuarios para verificar el dominio: La alfabetización sobre Blink reduce las estafas.
-
Endpoints de devnet separados: Variables de entorno por despliegue.
-
Documentar la intención de la Action: Página pública de seguridad explicando los efectos de la transacción.
-
Manual de incidentes: Pausar la URL de la Action si se sospecha de un exploit.
Preguntas frecuentes
¿Solana Pay vs Actions?
Pay para transferencias/QR simples; Actions para transacciones enriquecidas + Blinks.
¿Necesitas un proveedor de Blink?
Usa expansores compatibles o enlaces de Action directos en aplicaciones compatibles.
¿Todavía `@solana/pay`?
Sí, para solicitudes de transferencia encodeURL junto con Actions.
Relacionados
- Creación de una Action - implementación
- Rutas API de Next.js - alojamiento
- Mejores prácticas de integración de billeteras - UX de firma
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.