> ## 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.

# Gatekeeper로 마이그레이션하는 방법

> Gatekeeper로 애플리케이션을 마이그레이션하는 단계별 가이드

Gatekeeper로 마이그레이션하는 데 **5분도 걸리지 않습니다**. 간단한 URL 변경이며, API 키는 수정 없이 작동합니다.

## 빠른 마이그레이션

기존 엔드포인트를 간단히 교체하세요:

<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>

**끝입니다!**

애플리케이션을 테스트하고 성능을 모니터링하여 준비가 되면 배포하세요.

## 프레임워크별 예시

<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>

## WebSocket 엔드포인트

WebSockets를 사용하는 경우, 해당 엔드포인트도 업데이트하세요:

```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");
```

## 마이그레이션 체크리스트

<Steps>
  <Step title="엔드포인트 URL 업데이트">
    `mainnet.helius-rpc.com`를 `beta.helius-rpc.com`로 변경
  </Step>

  <Step title="개발 환경에서 테스트">
    모든 RPC 호출이 작동하고 인증이 성공하는지 확인
  </Step>

  <Step title="성능 모니터링">
    향상된 대기 시간 및 응답 시간을 위한 메트릭 확인
  </Step>

  <Step title="프로덕션에 배포">
    표준 배포 프로세스를 사용하여 변경사항 롤아웃
  </Step>
</Steps>

## 점진적 배포 (선택 사항)

더 안전한 마이그레이션을 위해 환경 변수 또는 기능 플래그를 사용할 수 있습니다:

```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";
```

## 롤백

필요한 경우, 표준 엔드포인트로 간단히 전환하세요:

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

## 문제 해결

<AccordionGroup>
  <Accordion title="401 Unauthorized 오류 발생">
    API 키가 포함되어 있는지 확인: `?api-key=YOUR_API_KEY`
  </Accordion>

  <Accordion title="성능 개선이 보이지 않음">
    * 로컬 개발 환경이 아닌 프로덕션 환경에서 테스트
    * 속도 제한에 걸리지 않았는지 확인 (429 오류 확인)
    * 문제가 지속되면 지원팀에 연락
  </Accordion>

  <Accordion title="WebSocket 연결 실패">
    * `wss://` (`ws://` 아님) 사용
    * API 키가 URL에 포함되어 있는지 확인
    * 방화벽 설정 확인
  </Accordion>

  <Accordion title="응답 형식이 다르게 보임">
    Gatekeeper는 동일한 응답을 반환합니다. 차이가 보이는 경우 즉시 지원팀에 연락하세요.
  </Accordion>
</AccordionGroup>

## 도움이 필요하십니까?

* **이메일**: [support@helius.dev](mailto:support@helius.dev)
* **디스코드**: [https://discord.com/invite/6GXdee3gBj](https://discord.com/invite/6GXdee3gBj)
* **문서**: [Gatekeeper 개요](/docs/ko/gatekeeper/overview)

<Card title="마이그레이션에 대한 질문이 있으신가요?" icon="comments" href="https://discord.com/invite/6GXdee3gBj">
  디스코드에 참여하여 팀 및 다른 개발자와 대화하세요
</Card>
