> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Como Migrar para Gatekeeper

> Guia passo a passo para migrar sua aplicação para Gatekeeper

Migrar para o Gatekeeper leva **menos de 5 minutos**. É uma simples mudança de URL—sua chave API funciona sem quaisquer modificações.

## Migração Rápida

Basta substituir seu endpoint existente:

<CodeGroup>
  ```javascript Before theme={"system"}
  const url = "https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY";
  ```

  ```javascript After theme={"system"}
  const url = "https://beta.helius-rpc.com/?api-key=YOUR_API_KEY";
  ```
</CodeGroup>

**É isso!**

Teste sua aplicação, monitore o desempenho e faça o deploy quando estiver pronto.

## Exemplos Específicos do Framework

<Tabs>
  <Tab title="Solana Web3.js">
    ```javascript theme={"system"}
    import { Connection } from '@solana/web3.js';

    const connection = new Connection(
      `https://beta.helius-rpc.com/?api-key=${YOUR_API_KEY}`,
      'confirmed'
    );
    ```
  </Tab>

  <Tab title="Anchor">
    ```javascript theme={"system"}
    import { AnchorProvider } from '@coral-xyz/anchor';
    import { Connection } from '@solana/web3.js';

    const connection = new Connection(
      `https://beta.helius-rpc.com/?api-key=${YOUR_API_KEY}`,
      'confirmed'
    );

    const provider = new AnchorProvider(connection, wallet, {
      commitment: 'confirmed'
    });
    ```
  </Tab>

  <Tab title="Solana-py">
    ```python theme={"system"}
    from solana.rpc.api import Client

    rpc_url = f"https://beta.helius-rpc.com/?api-key={YOUR_API_KEY}"
    client = Client(rpc_url)
    ```
  </Tab>

  <Tab title="Rust">
    ```rust theme={"system"}
    use solana_client::rpc_client::RpcClient;

    let rpc_url = format!("https://beta.helius-rpc.com/?api-key={}", YOUR_API_KEY);
    let client = RpcClient::new(rpc_url);
    ```
  </Tab>

  <Tab title="Environment Variable">
    ```bash theme={"system"}
    # .env file
    HELIUS_RPC_URL=https://beta.helius-rpc.com/?api-key=YOUR_API_KEY
    ```
  </Tab>
</Tabs>

## Endpoints WebSocket

Se você estiver usando WebSockets, atualize esses endpoints também:

```javascript theme={"system"}
// Before
const ws = new WebSocket("wss://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY");

// After
const ws = new WebSocket("wss://beta.helius-rpc.com/?api-key=YOUR_API_KEY");
```

## Lista de Verificação de Migração

<Steps>
  <Step title="Atualizar URL do endpoint">
    Mude `mainnet.helius-rpc.com` para `beta.helius-rpc.com`
  </Step>

  <Step title="Testar em desenvolvimento">
    Verifique se todas as chamadas RPC funcionam e a autenticação é bem-sucedida
  </Step>

  <Step title="Monitorar desempenho">
    Verifique suas métricas para ver melhorias na latência e nos tempos de resposta
  </Step>

  <Step title="Fazer deploy em produção">
    Implemente as alterações usando seu processo padrão de implantação
  </Step>
</Steps>

## Implementação Gradual (Opcional)

Para uma migração mais segura, você pode usar variáveis de ambiente ou feature flags:

```javascript theme={"system"}
// Environment-based
const endpoint = process.env.USE_GATEKEEPER
  ? "https://beta.helius-rpc.com"
  : "https://mainnet.helius-rpc.com";

const connection = new Connection(
  `${endpoint}?api-key=${YOUR_API_KEY}`,
  'confirmed'
);
```

```javascript theme={"system"}
// Percentage rollout (10% of traffic)
const useGatekeeper = Math.random() < 0.1;
const endpoint = useGatekeeper
  ? "https://beta.helius-rpc.com"
  : "https://mainnet.helius-rpc.com";
```

## Rollback

Se necessário, basta voltar para o endpoint padrão:

```javascript theme={"system"}
const url = "https://mainnet.helius-rpc.com/?api-key=YOUR_API_KEY";
```

## Resolução de Problemas

<AccordionGroup>
  <Accordion title="Recebendo erros 401 Unauthorized">
    Verifique se sua chave API está incluída: `?api-key=YOUR_API_KEY`
  </Accordion>

  <Accordion title="Não vendo melhorias de desempenho">
    * Teste a partir de seu ambiente de produção (não local dev)
    * Verifique se não está atingindo limites de taxa (verifique erros 429)
    * Contate o suporte se os problemas persistirem
  </Accordion>

  <Accordion title="Falhas nas conexões WebSocket">
    * Use `wss://` (não `ws://`)
    * Certifique-se de que sua chave API está na URL
    * Verifique as configurações do firewall
  </Accordion>

  <Accordion title="Formatos de resposta parecem diferentes">
    O Gatekeeper retorna respostas idênticas. Entre em contato com o suporte imediatamente se notar diferenças.
  </Accordion>
</AccordionGroup>

## Precisa de Ajuda?

* **Email**: [support@helius.dev](mailto:support@helius.dev)
* **Discord**: [https://discord.com/invite/6GXdee3gBj](https://discord.com/invite/6GXdee3gBj)
* **Documentação**: [Visão Geral do Gatekeeper](/docs/pt-BR/gatekeeper/overview)

<Card title="Dúvidas sobre migração?" icon="comments" href="https://discord.com/invite/6GXdee3gBj">
  Junte-se ao nosso Discord para conversar com a equipe e outros desenvolvedores
</Card>
