NOVO: Helius adquire a Light Protocol
saiba como usar o surfpool
Blog/Desenvolvimento

Apresentando o Surfpool: uma alternativa à Devnet da Solana

Cofundador da txtxLudo Galabru no XLudo Galabru no LinkedIn
Cofundador da txtxMicaiah Reid no XMicaiah Reid no LinkedIn
10 min de leitura

Neste artigo, destacamos o Surfpool, um projeto do Helius Startup Launchpad que conquistou o primeiro lugar no Radar Hackathon da Colosseum e está ganhando destaque no ecossistema de desenvolvedores da Solana. 

Começaremos analisando a Localnet, a Devnet e a Mainnet — suas funções, vantagens e pontos problemáticos — antes de explorar a Surfnet e a Infraestrutura como Código e entender como elas oferecem um novo nível de velocidade, segurança e confiança para quem desenvolve na Solana.

O que é o Surfpool?

O Surfpool substitui diretamente os ambientes de teste da Localnet e foi desenvolvido especificamente para oferecer a melhor experiência possível a quem cria na Solana. Ele permite simular localmente programas da Solana usando contas da Mainnet obtidas sob demanda.

O Surfpool também introduz de forma integrada a Infraestrutura como Código (IaC) em projetos baseados em Anchor ou Pinocchio, permitindo implantações reproduzíveis, auditáveis e seguras em qualquer rede da Solana, privada ou pública.

Antes de entender como o Surfpool melhora a experiência de desenvolvimento na Solana, é essencial analisar o cenário atual das redes usadas por desenvolvedores. 

A Solana tem vários clusters — Localnet, Devnet e Mainnet —, cada um com uma finalidade diferente no ciclo de desenvolvimento. Embora esses ambientes sejam essenciais, eles também envolvem concessões que afetam a velocidade, a confiabilidade e a confiança ao publicar código.

Localnet

Localnet é uma instância local da blockchain da Solana, geralmente inicializada com o comando solana-test-validator. Essencialmente, é uma blockchain privada executada na sua máquina, sem latência de rede e com controle total sobre o ambiente.

Popularizada por sua forte integração com o framework Anchor, a Localnet oferece uma execução de alta fidelidade do runtime da Solana, tornando-a ideal para iterações rápidas e depuração. Desenvolvedores a utilizam para simular transações, validar a lógica de programas, corrigir bugs, redefinir o estado e iterar.

Localnets também costumam ser integradas a pipelines de integração contínua (CI). Elas permitem que as equipes executem suítes de testes automatizados a cada commit, garantindo que as alterações não afetem o comportamento existente. Isso ajuda a manter a qualidade do código e a detectar regressões antecipadamente.

No entanto, esse isolamento também é sua maior limitação. 

A Localnet funciona em um ambiente isolado: ela não possui contas reais, acesso aos dados da Mainnet nem interação com protocolos ativos do ecossistema.

Por isso, embora seja perfeita para simulações isoladas, ela não é suficiente para testes de composabilidade nem para validações de ponta a ponta em condições realistas.

Devnet da Solana

A Devnet é uma rede pública da Solana operada pela Solana Foundation e por alguns validadores mantidos pela comunidade. Ela reproduz a arquitetura e o comportamento de execução da Mainnet, mas sem riscos econômicos.

Os tokens da Devnet não têm valor no mundo real. Para obtê-los, desenvolvedores dependem de faucets — endpoints públicos que distribuem pequenas quantidades de tokens de teste para fins de desenvolvimento. 

Essas faucets geralmente têm limites de uso, e cada token costuma ter sua própria faucet com regras diferentes (por exemplo, a faucet da Solana da Helius, a faucet de USDC operada pela Circle etc.), o que torna a configuração de uma cesta de tokens trabalhosa e demorada.

A Devnet funciona como um ambiente público e compartilhado de staging. Desenvolvedores a utilizam para simular interações entre programas, testar o comportamento no cliente em um ambiente ativo e se preparar para lançamentos na Mainnet. Ela é conveniente ao trabalhar com integrações de terceiros, como oráculos, DEXs ou programas de tokens que não estão disponíveis na Localnet.

Como os endpoints RPC da Devnet estão disponíveis publicamente, a Devnet também é muito usada para desenvolver e depurar front-ends de aplicações. 

Muitas equipes também usam a Devnet para ambientes internos de teste. Protocolos maiores (como o Pyth) às vezes criam implantações “sandbox” de suas aplicações na Devnet para facilitar testes de integração de outras equipes.

É importante lembrar que cada equipe define sua própria estratégia de implantação na Devnet. Ao contrário da Mainnet, onde os protocolos geralmente são auditados, estáveis e atualizados, as implantações na Devnet podem estar desatualizadas, incompletas ou configuradas incorretamente.

Consequentemente, a composabilidade é limitada.

É claro que existem variações. Algumas equipes mantêm seus próprios ambientes internos de Devnet para staging e testes de integração, enquanto outras operam Devnets públicas para atender desenvolvedores e parceiros externos. Esses ambientes personalizados geralmente oferecem mais controle, estabilidade ou acesso sob medida do que a Devnet compartilhada da Solana.

Mainnet-beta da Solana

A Mainnet é onde tudo acontece de verdade: a rede processa milhares de transações adversariais por segundo, os tokens têm valor real e qualquer erro pode custar caro. Ao contrário da Devnet ou da Localnet, a implantação na Mainnet exige preparação rigorosa, práticas de segurança rígidas e muita confiança no código.

Do ponto de vista operacional, a Mainnet muda tudo. 

Os pares de chaves de implantação — geralmente mantidos em multisigs ou carteiras de hardware — precisam ser protegidos com rigor, e qualquer problema no processo de implantação pode ter consequências graves. Agora você está exposto às condições reais da rede, incluindo tráfego imprevisível, latência real e interações com usuários e ativos reais.

Por outro lado, ela também oferece os benefícios da composabilidade total e da integração com todos os protocolos relevantes. É na Mainnet que seu programa prova seu valor — sob pressão real e em escala total.

Descobrimos que a maioria dos desenvolvedores que conhecemos rapidamente esbarra na composabilidade limitada da Devnet. Para avançar mais rápido ou acessar dados precisos, eles muitas vezes começam a iterar diretamente na Mainnet, o que traz riscos maiores, ciclos de iteração mais lentos e mais sobrecarga operacional. A Devnet não consegue funcionar como uma ponte relevante entre as duas.

Apresentando as Surfnets

A Surfnet oferece os benefícios das Localnets com abordagem local-first e garante que as transações tenham acesso ao estado da Mainnet sem precisar sincronizar um node.

Ela é a resposta do Surfpool às limitações das redes tradicionais da Solana: um ambiente criado especificamente para desenvolvedores que preenche a lacuna entre a Localnet e a Mainnet.

O Surfpool busca dados de contas ativas sob demanda em qualquer RPC que você escolher, enquanto isola e acompanha localmente o estado do seu programa. Isso oferece controle total, iterações mais rápidas e um ambiente de simulação fiel.

Graças a essa arquitetura, a Surfnet se comporta como uma rede bifurcada de forma lazy, copiando o estado durante a leitura e gravando as alterações localmente. Assim como a Localnet, ela inicializa instantaneamente e é significativamente mais rápida. As instâncias da Surfnet são leves e podem operar em um dispositivo acessível como um Raspberry Pi.

Por seguir o contrato RPC canônico, o Surfpool é, na prática, compatível com carteiras, exploradores e ferramentas CLI que dependem desses endpoints.

Métodos RPC da Surfnet

Para aprimorar ainda mais a experiência de desenvolvimento na Solana, a Surfnet introduz um conjunto de métodos RPC — chamados de cheatcodes — que permitem modificar as regras da rede para acelerar as iterações e oferecer mais controle durante as simulações. Eles incluem:

  • surfnet_setAccount: Injete dados arbitrários de contas no estado da rede.
  • surfnet_setTokenAccount: Crie instantaneamente contas de tokens com saldos e metadados personalizados.
  • surfnet_setMintAccount: Defina ou substitua configurações de mint, incluindo oferta, casas decimais e autoridades.

Esses cheatcodes funcionam como superpoderes para o desenvolvimento local, viabilizando cenários que, de outra forma, exigiriam pesquisas trabalhosas, configuração manual e scripts complexos.

Combinados aos dados da Mainnet, os cheatcodes oferecem um poder sem precedentes a desenvolvedores. A rede local tem acesso total ao contexto real e, ao mesmo tempo, permite alterar as regras livremente, viabilizando simulações completas, controladas e altamente realistas.

Reproduzir essa configuração aparentemente simples e direta em uma Localnet normalmente levaria dias.

Estudo de caso de cheatcode: The Heist

Para mostrar o que os cheatcodes do Surfpool podem fazer, criamos uma faucet com o codinome The Heist.

Por que esse nome? Porque parece um assalto a banco — sem atrito, sem risco e com controle total. Adicione instantaneamente qualquer token a qualquer conta: SOL, USDC ou SPLs personalizados. Sem limites de uso, sem espera e sem serviços de terceiros. Basta um comando para ter liquidez.

As faucets sempre foram um ponto problemático para desenvolvedores: lentas, pouco confiáveis e espalhadas pelo ecossistema. Com a The Heist, viramos esse cenário de cabeça para baixo. Ela é rápida, local e integrada ao seu ambiente Surfnet.

Isso só é possível graças ao design da Solana. O programa de tokens pré-compilado e compartilhado garante um layout de armazenamento consistente para todos os tokens, viabilizando esse tipo de faucet universal. Isso não seria possível em plataformas nas quais as implementações de tokens variam muito.

A The Heist não é apenas uma ferramenta de desenvolvimento — é uma demonstração do que uma simulação rápida e limpa pode viabilizar.

Infraestrutura Cripto como Código (IaC)

Executar simulações avançadas é apenas parte da história — o Surfpool também leva a Infraestrutura como Código à Solana, oferecendo reprodutibilidade, automação e segurança em todas as implantações, com baixa sobrecarga para desenvolvedores.

Infraestrutura Cripto como Código (IaC) é um tema que facilmente justificaria um artigo dedicado. Ao longo dos anos, desenvolvemos ampla experiência nessa área por meio do trabalho prático com protocolos sofisticados como Pyth, Wormhole Core, Circle CCTP, Bitcoin Ordinals e muitos outros.

De modo geral, a infraestrutura cripto costuma ser composta por três categorias principais de componentes:

  1. Infraestrutura on-chain
  2. Infraestrutura de assinatura
  3. Infraestrutura off-chain

Infraestrutura on-chain

Isso inclui implantações e atualizações de programas, além de migrações de estado. Em um sistema de IaC bem projetado, os contratos inteligentes são implantados por processos reproduzíveis e auditáveis, garantindo integridade, controle de versão e rastreabilidade.

Infraestrutura de assinatura

A maioria das falhas de segurança ocorre no gerenciamento de chaves. Em vez de depender de pares de chaves locais inseguros, sistemas prontos para produção usam carteiras de hardware, criptografia de limiar ou configurações multisig para assinar transações de forma segura e responsável. 

Em um sistema de IaC bem projetado, a infraestrutura de assinatura deve ser modular e configurável, permitindo que você substitua uma chave privada definida diretamente no código por uma sofisticada cerimônia multisig simplesmente atualizando algumas linhas de configuração.

Infraestrutura off-chain

Isso inclui tudo o que cerca e oferece suporte aos seus contratos inteligentes: indexadores, monitores de estado, sentinelas de carteiras, scripts de automação e muito mais. 

Esses componentes geralmente estão fortemente acoplados a eventos on-chain e devem ser tratados como código: testáveis localmente, portáteis e totalmente implantáveis.

Benefícios da Infraestrutura Cripto como Código

Um sistema de IaC bem projetado deve permitir análise estática. Você não deveria precisar executar nenhum código para entender o que ele fará.

Você deve conseguir gerar antecipadamente um plano de execução completo, detalhando quais programas e signatários estarão envolvidos, quais recursos serão afetados e quanto custará.

Nada de DSLs baseadas em JavaScript ou scripts shell opacos — apenas código declarativo e limpo. Ele deve ser combinável, fácil de manter e ter uma curva de aprendizado mínima.

Com um sistema assim, migrar da Localnet para a Mainnet deve ser tão simples quanto trocar a infraestrutura de assinatura de um par de chaves local armazenado em disco para um signatário do Squad.

Levamos meses para projetar e desenvolver a stack que chamamos de Web3 Runbooks — refinando a linguagem, simplificando seu uso e tornando o runtime seguro e combinável. 

Com o Surfpool, buscamos tornar essa tecnologia de Runbook ainda mais acessível e fácil de usar, além de ampliar seus limites para garantir que desenvolvedores da Solana criem sobre a melhor base possível.

Ao combinar Surfnets e Infraestrutura Cripto como Código no Surfpool, estamos criando o que acreditamos ser a melhor ferramenta para desenvolvedores da Web3. Desenvolvedores têm acesso a uma stack local-first e podem avançar gradualmente em direção à Mainnet conforme o protocolo amadurece, bastando ajustar a configuração de IaC.

Para concluir e voltar ao tema das redes, vale destacar que as Surfnets podem ser definidas e gerenciadas por meio de Infraestrutura como Código. Isso significa que desenvolvedores podem inicializar facilmente redes efêmeras, pré-configuradas com centenas de contas já abastecidas com as cestas de tokens adequadas (SOL, USDC etc.) necessárias para interagir com seus protocolos.

Recursos e documentação

Recomendamos assistir a este episódio do Solana Changelog, apresentado por Jacob Creech, diretor de relações com desenvolvedores da Solana Foundation, para uma análise detalhada de 45 minutos sobre o Surfpool.

Também estamos lançando uma série de screencasts curtos para ajudar desenvolvedores a começar a usar o Surfpool em sessões práticas e objetivas.

Nossa documentação completa está disponível em docs.surfpool.run.

Conclusão

O caminho pela frente é longo, mas o futuro é promissor. Desenvolvedores já demonstram grande interesse no Surfpool, e o feedback deles reforça nossa convicção de que estamos criando algo essencial.

Dito isso, estamos apenas começando. 

Nossa missão é tornar as simulações da Mainnet indistinguíveis da rede real. 

Hoje, o Surfpool ainda não considera alguns aspectos críticos, como a contenção e a priorização de transações, nem comportamentos adversariais como MEV e ataques sandwich. 

Estamos entusiasmados com o que vem a seguir. O Surfpool já está mudando a forma como as pessoas desenvolvem na Solana — e estamos comprometidos em levá-lo ainda mais longe.

Assine a Helius

Acompanhe as novidades mais recentes do desenvolvimento Solana e receba atualizações quando publicarmos

Imagem ampliada