Todos los programas de Solana leen y escriben el mismo estado, de modo que un swap, el pago de un préstamo y una actualización de oráculo pueden ejecutarse en una sola transacción atómica. Empieza con una app funcional de Anchor, integra liquidez en vivo y lanza con prácticas de producción.
Propiedades en las que puede apoyarse el diseño de tu protocolo
Componibilidad atómica
Los programas se llaman entre sí mediante Cross Program Invocations (CPI) dentro de una misma transacción. Si cualquier paso falla, toda la transacción se revierte, de modo que una estrategia multiprotocolo nunca se liquida a medias.
Cada transacción declara de antemano las cuentas que lee y escribe. El runtime ejecuta en paralelo las transacciones que no tocan las mismas cuentas escribibles, por lo que un mercado saturado no bloquea a otros no relacionados.
Las transacciones que escriben en una cuenta disputada compiten por la parte del bloque asignada a esa cuenta. Calcula las comisiones de prioridad a partir de las cuentas en las que escribes, no de promedios de toda la red.
Los tiempos de slot de la red principal se están reduciendo por etapas, y Alpenglow reemplazará el protocolo actual de votación y finalidad. Sigue ambos antes de ajustar la caducidad de las cotizaciones, los tiempos de espera y las ventanas de liquidación.
La ruta recomendada para un nuevo protocolo: Anchor para el programa, LiteSVM y Surfpool para las pruebas, Codama para los clientes y Kit para la app.
01Escribe el programa
Anchor o Pinocchio
Anchor es el framework recomendado para la mayoría de los programas, con validación de cuentas, generación de IDL y utilidades de CPI integradas. Recurre a Pinocchio, una biblioteca sin dependencias, en las rutas críticas donde cada unidad de cómputo cuenta.
Ejecuta pruebas rápidas en proceso con LiteSVM o Mollusk. Después, ejecuta pruebas de integración en Surfpool, una red local que carga cuentas de la red principal bajo demanda, para que puedas probar con pools y oráculos reales.
Genera clientes tipados en TypeScript y Rust a partir del IDL de tu programa, para que los constructores de instrucciones y los decodificadores de cuentas se mantengan sincronizados con cada despliegue.
@solana/kit es el SDK estándar de JavaScript. Su plugin de wallets detecta las wallets instaladas mediante Wallet Standard, sin paquetes de adaptador para cada wallet.
Estos protocolos publican documentación para desarrolladores sobre sus programas y APIs. Lee la documentación y los informes de auditoría de cada protocolo antes de dirigir fondos de los usuarios a través de él.
Swaps y enrutamiento
Enruta swaps a través de la liquidez de Solana con la API de un agregador, o solicita instrucciones sin procesar para componer un swap dentro de tu propia transacción.
Emite activos con comportamientos integrados que tu protocolo debe gestionar: hooks de transferencia, saldos con intereses, importes de UI escalados y transferencias confidenciales.
Solo ejemplos. Incluir un protocolo en la lista no implica un respaldo de la Fundación Solana.
Entrega de transacciones
Confirma transacciones cuando los mercados se mueven
El tráfico DeFi alcanza su pico durante la volatilidad, justo cuando los usuarios necesitan que sus transacciones se confirmen. Incorpora estas prácticas a tu cliente antes de lanzar en la red principal.
1
Establece límites de cómputo y comisiones de prioridad
Simula para medir las unidades de cómputo, establece un límite ajustado y calcula las comisiones de prioridad a partir de las comisiones recientes de las cuentas en las que escribes.
Las transacciones v1 aumentan el límite de tamaño; las address lookup tables comprimen las listas largas de cuentas. Cada opción implica un compromiso en las rutas complejas.
El QoS ponderado por stake reserva capacidad del líder para las transacciones reenviadas por validators con stake. Elige un proveedor de RPC que lo admita.
Haz seguimiento de la caducidad del blockhash, retransmite hasta que la transacción se confirme o caduque, y confirma en el nivel de compromiso que requiera tu lógica.
Un programa DeFi puede custodiar fondos de los usuarios desde su primer despliegue. Controla quién puede modificarlo, demuestra qué hay desplegado y vigila lo que hace.
Protege las autoridades con un multisig
Mantén las autoridades de actualización y administración del programa en un multisig de Squads, con un bloqueo temporal para los cambios.
Obtén auditorías independientes antes de lanzar en la red principal y pon en marcha un programa de recompensas por errores. La Fundación Solana financia las evaluaciones de seguridad STRIDE y herramientas gratuitas para los equipos del ecosistema.