NUEVO: Helius adquiere Light Protocol
descubre cómo usar Surfpool
Blog/Desarrollo

Presentamos Surfpool: una alternativa a Devnet de Solana

Cofundador, txtxLudo Galabru en XLudo Galabru en LinkedIn
Cofundador, txtxMicaiah Reid en XMicaiah Reid en LinkedIn
10 min de lectura

En esta publicación, destacamos Surfpool, un proyecto del Helius Startup Launchpad que ganó el primer premio en el Radar Hackathon de Colosseum y está causando sensación en el ecosistema de desarrolladores de Solana. 

Empezaremos por explicar Localnet, Devnet y Mainnet —sus funciones, fortalezas y desafíos— antes de profundizar en Surfnet y la infraestructura como código, y explorar cómo permiten alcanzar un nuevo nivel de velocidad, seguridad y confianza para quienes desarrollan en Solana.

¿Qué es Surfpool?

Surfpool es un reemplazo directo para los entornos de prueba Localnet, diseñado específicamente para ofrecer la mejor experiencia posible a quienes desarrollan en Solana. Permite simular programas de Solana de forma local con cuentas de Mainnet obtenidas justo cuando se necesitan.

Surfpool también incorpora sin complicaciones la infraestructura como código (IaC) en proyectos basados en Anchor o Pinocchio, lo que permite realizar implementaciones reproducibles, auditables y seguras en cualquier red de Solana, ya sea privada o pública.

Antes de comprender cómo Surfpool mejora la experiencia de desarrollo en Solana, es esencial analizar el panorama actual de redes con el que trabajan los desarrolladores. 

Solana tiene varios clústeres —Localnet, Devnet y Mainnet— y cada uno cumple un propósito distinto en el ciclo de desarrollo. Aunque estos entornos son esenciales, también implican concesiones que afectan la velocidad, la confiabilidad y la confianza al publicar código.

Localnet

Localnet se refiere a una instancia local de la blockchain de Solana, que normalmente se inicia con el comando solana-test-validator. Es, en esencia, una blockchain privada que se ejecuta en tu equipo, sin latencia de red y con control total sobre el entorno.

Popularizada por su estrecha integración con el framework Anchor, Localnet ofrece una ejecución de alta fidelidad del entorno de ejecución de Solana, por lo que es ideal para iterar y depurar rápidamente. Los desarrolladores la usan para simular transacciones, validar la lógica de los programas, corregir errores, restablecer el estado e iterar.

Las Localnets también suelen integrarse en pipelines de integración continua (CI). Permiten que los equipos ejecuten conjuntos de pruebas automatizadas con cada commit para garantizar que los cambios no alteren el comportamiento existente. Esto ayuda a mantener la calidad del código y detectar regresiones a tiempo.

Sin embargo, este aislamiento también es su mayor limitación. 

Localnet funciona de manera aislada: no tiene cuentas reales, acceso a datos de Mainnet ni interacción con protocolos activos del ecosistema.

Por eso, aunque es perfecta para simulaciones aisladas, no basta para probar la componibilidad ni para realizar validaciones de extremo a extremo en condiciones realistas.

Devnet de Solana

Devnet es una red pública de Solana operada por Solana Foundation y algunos validadores administrados por la comunidad. Replica la arquitectura y el comportamiento de ejecución de Mainnet, pero sin riesgos económicos.

Los tokens de Devnet no tienen valor real. Para obtenerlos, los desarrolladores recurren a faucets: endpoints públicos que entregan pequeñas cantidades de tokens de prueba para fines de desarrollo. 

Estos faucets suelen tener límites de solicitudes, y cada token suele contar con su propio faucet y reglas diferentes (por ejemplo, el faucet de Solana de Helius, el faucet de USDC operado por Circle, etc.). Esto hace que preparar una cesta de tokens sea tedioso y requiera mucho tiempo.

Devnet funciona como un entorno público y compartido de preproducción. Los desarrolladores la usan para simular interacciones entre programas, probar el comportamiento del cliente en un entorno activo y prepararse para lanzamientos en Mainnet. Es práctica cuando se trabaja con integraciones de terceros, como oráculos, DEX o programas de tokens que no están disponibles en Localnet.

Como los endpoints RPC de Devnet están disponibles públicamente, Devnet también se usa habitualmente para desarrollar y depurar interfaces de aplicaciones. 

Muchos equipos también recurren a Devnet para sus entornos de pruebas internas. Los protocolos más grandes (por ejemplo, Pyth) a veces crean implementaciones «sandbox» de sus aplicaciones en Devnet para facilitar las pruebas de integración de otros equipos.

Es importante recordar que cada equipo define su propia estrategia de implementación en Devnet. A diferencia de Mainnet, donde los protocolos suelen estar auditados, ser estables y estar actualizados, las implementaciones de Devnet pueden estar desactualizadas, incompletas o mal configuradas.

Como resultado, la componibilidad es limitada.

Por supuesto, existen variantes. Algunos equipos mantienen sus propios entornos Devnet internos para pruebas de preproducción e integración, mientras que otros operan Devnets públicas para apoyar a desarrolladores externos y socios. Estos entornos personalizados suelen ofrecer más control, estabilidad o un acceso más específico que la Devnet compartida de Solana.

Mainnet-beta de Solana

Mainnet es el entorno real: la red recibe miles de transacciones adversarias cada segundo, los tokens tienen valor real y cualquier error puede resultar costoso. A diferencia de Devnet o Localnet, implementar en Mainnet exige una preparación rigurosa, prácticas de seguridad estrictas y mucha confianza en tu código.

A nivel operativo, Mainnet lo cambia todo. 

Los pares de claves de implementación —que suelen almacenarse en multisigs o billeteras de hardware— deben protegerse rigurosamente, y cualquier problema en el proceso de implementación puede tener consecuencias graves. Ahora estás expuesto a condiciones reales de la red, como tráfico impredecible, latencia real e interacciones con usuarios y activos reales.

Pero también ofrece las ventajas de una componibilidad total y la integración con todos los protocolos relevantes. Mainnet es donde tu programa demuestra su capacidad: bajo presión real y a escala completa.

Resulta que la mayoría de los desarrolladores que conocimos alcanzaron rápidamente un límite debido a la escasa componibilidad de Devnet. Para avanzar más rápido o acceder a datos precisos, suelen empezar a iterar directamente en Mainnet, lo que implica más riesgo, ciclos de iteración más lentos y una mayor carga operativa. Devnet no logra ser un puente eficaz entre ambos entornos.

Presentamos Surfnets

Surfnet te ofrece las ventajas de las Localnets con enfoque local-first, al tiempo que garantiza que las transacciones accedan al estado de Mainnet sin sincronizar un nodo.

Es la respuesta de Surfpool a las limitaciones de las redes tradicionales de Solana: un entorno diseñado específicamente para desarrolladores que reduce la brecha entre Localnet y Mainnet.

Surfpool obtiene bajo demanda datos de cuentas activas desde cualquier RPC que elijas, mientras aísla y registra localmente el estado de tu programa. Esto te da control total, iteraciones más rápidas y un entorno de simulación fiel.

Gracias a esta arquitectura, Surfnet se comporta como una red bifurcada de forma diferida: copia el estado al leer y escribe los cambios localmente. Al igual que Localnet, se inicia al instante y es mucho más rápida. Las instancias de Surfnet son ligeras y pueden ejecutarse en un dispositivo tan económico como una Raspberry Pi.

Al cumplir el contrato RPC canónico, Surfpool es compatible de facto con billeteras, exploradores y herramientas CLI que dependen de esos endpoints.

Métodos RPC de Surfnet

Para mejorar aún más la experiencia de desarrollo en Solana, Surfnet incorpora un conjunto de métodos RPC —llamados cheatcodes— que te permiten modificar las reglas de la red para iterar más rápido y tener mayor control durante las simulaciones. Entre ellos se incluyen:

  • surfnet_setAccount: Inyecta datos arbitrarios de cuentas en el estado de la red.
  • surfnet_setTokenAccount: Crea al instante cuentas de tokens con saldos y metadatos personalizados.
  • surfnet_setMintAccount: Define o reemplaza configuraciones de emisión, incluidos el suministro, los decimales y las autoridades.

Estos cheatcodes funcionan como superpoderes para el desarrollo local y permiten crear escenarios que, de otro modo, exigirían investigaciones tediosas, configuración manual y scripts complejos.

Combinados con datos de Mainnet, los cheatcodes ofrecen a los desarrolladores un poder sin precedentes. Su red local tiene acceso total al contexto real y, al mismo tiempo, les permite modificar las reglas a voluntad para crear simulaciones completas, controladas y muy realistas.

Reproducir en una Localnet esta configuración aparentemente simple y directa normalmente tomaría días.

Caso práctico de cheatcodes: The Heist

Para mostrar lo que pueden hacer los cheatcodes de Surfpool, creamos un faucet con el nombre en clave The Heist.

¿Por qué ese nombre? Porque se siente como robar un banco: sin fricción, sin riesgo y con control total. Agrega al instante cualquier token a cualquier cuenta: SOL, USDC o SPL personalizados. Sin límites de solicitudes, sin esperas y sin servicios de terceros. Solo necesitas un comando para obtener liquidez.

Los faucets siempre han sido un problema para los desarrolladores: son lentos, poco confiables y están dispersos por todo el ecosistema. Con The Heist, cambiamos la situación por completo. Es rápido, local y está integrado en tu entorno Surfnet.

Esto solo es posible gracias al diseño de Solana. El programa de tokens precompilado y compartido garantiza una estructura de almacenamiento uniforme para todos los tokens, lo que hace viable este tipo de faucet universal. No sería posible en plataformas donde las implementaciones de tokens varían mucho.

The Heist no es solo una herramienta de desarrollo: demuestra lo que puede lograrse con una simulación rápida y limpia.

Infraestructura cripto como código (IaC)

Ejecutar simulaciones potentes es solo una parte de la historia. Surfpool también incorpora la infraestructura como código a Solana, lo que aporta reproducibilidad, automatización y seguridad a cada implementación, con poca carga adicional para los desarrolladores.

La infraestructura cripto como código (IaC) es un tema que fácilmente podría merecer su propia publicación. A lo largo de los años, hemos desarrollado una amplia experiencia en esta área mediante el trabajo práctico con protocolos sofisticados como Pyth, Wormhole Core, Circle CCTP, Bitcoin Ordinals y muchos otros.

A grandes rasgos, la infraestructura cripto suele constar de tres categorías principales de componentes:

  1. Infraestructura onchain
  2. Infraestructura de firma
  3. Infraestructura offchain

Infraestructura onchain

Esto incluye implementaciones y actualizaciones de programas, así como migraciones de estado. En un sistema IaC bien diseñado, los contratos inteligentes se implementan mediante procesos reproducibles y auditables que garantizan la integridad, el control de versiones y la trazabilidad.

Infraestructura de firma

La mayoría de las fallas de seguridad ocurren en la gestión de claves. En lugar de depender de pares de claves locales inseguros, los sistemas de producción usan billeteras de hardware, criptografía de umbral o configuraciones multisig para firmar transacciones de forma segura y responsable. 

En un sistema IaC bien diseñado, la infraestructura de firma debe ser modular y configurable. Así puedes pasar de una clave privada escrita directamente en el código a una sofisticada ceremonia multisig con solo actualizar unas líneas de configuración.

Infraestructura offchain

Esto incluye todo lo que rodea y respalda tus contratos inteligentes: indexadores, monitores de estado, centinelas de billeteras, scripts de automatización y más. 

Estos componentes suelen estar estrechamente vinculados a eventos onchain y deben tratarse como código: deben poder probarse localmente, ser portátiles y permitir una implementación completa.

Ventajas de la infraestructura cripto como código

Un sistema IaC bien diseñado debe permitir el análisis estático. No deberías tener que ejecutar código para comprender qué hará.

Deberías poder generar de antemano un plan de ejecución completo que detalle qué programas y firmantes participarán, qué recursos se modificarán y cuánto costará.

Nada de DSL basados en JavaScript ni scripts de shell opacos: solo código declarativo y claro. Debe ser componible, fácil de mantener y requerir un aprendizaje mínimo.

Con un sistema así, pasar de Localnet a Mainnet debería ser tan sencillo como sustituir la infraestructura de firma basada en un par de claves local almacenado en disco por un firmante de Squad.

Nos tomó meses diseñar y crear el stack que llamamos Web3 Runbooks: refinamos el lenguaje, simplificamos su uso y logramos que el entorno de ejecución fuera seguro y componible. 

Con Surfpool, buscamos hacer que esta tecnología de Runbooks sea aún más accesible y fácil de usar, mientras seguimos ampliando sus límites para garantizar que los desarrolladores de Solana construyan sobre la mejor base posible.

Al combinar Surfnets y la infraestructura cripto como código en Surfpool, estamos creando lo que consideramos la mejor herramienta para desarrolladores de Web3. Los desarrolladores obtienen acceso a un stack local-first y pueden avanzar gradualmente hacia Mainnet a medida que su protocolo madura con solo ajustar su configuración de IaC.

Para cerrar el ciclo y volver a las redes, vale la pena señalar que las Surfnets pueden definirse y gestionarse mediante infraestructura como código. Esto permite que los desarrolladores inicien fácilmente redes efímeras, preconfiguradas con cientos de cuentas que ya contienen las cestas de tokens adecuadas (SOL, USDC, etc.) necesarias para interactuar con sus protocolos.

Recursos y documentación

Recomendamos ver este episodio de Solana Changelog, presentado por Jacob Creech, director de Relaciones con Desarrolladores en Solana Foundation, para conocer Surfpool a fondo durante 45 minutos.

También estamos lanzando una serie de breves screencasts para ayudar a los desarrolladores a empezar a usar Surfpool mediante sesiones prácticas y fáciles de asimilar.

Nuestra documentación completa está disponible en docs.surfpool.run.

Conclusión

Queda un largo camino por recorrer, pero el futuro es prometedor. Los desarrolladores ya muestran un gran interés en Surfpool, y sus comentarios refuerzan nuestra convicción de que estamos creando algo esencial.

Dicho esto, apenas estamos empezando. 

Nuestra misión es lograr que las simulaciones de Mainnet sean indistinguibles de la red real. 

Hoy, Surfpool aún no contempla algunos aspectos fundamentales, como la contención y priorización de transacciones o los comportamientos adversarios, como MEV y los ataques sándwich. 

Nos entusiasma lo que viene. Surfpool ya está cambiando la forma en que las personas desarrollan en Solana, y nos comprometemos a llevarlo aún más lejos.

Suscríbete a Helius

Mantente al día con las novedades del desarrollo en Solana y recibe actualizaciones cuando publiquemos

Imagen ampliada