Skip to main content
RPC 사용을 최적화하면 성능이 크게 향상되고 비용이 절감되며 사용자 경험이 향상될 수 있습니다. 이 가이드는 효율적인 Solana RPC 상호작용을 위한 입증된 기술을 다룹니다.

빠른 시작

트랜잭션 최적화

컴퓨팅 단위, 우선 수수료 및 거래 전송 최적화

데이터 검색

계정 및 프로그램 데이터를 가져오기 위한 효율적인 패턴

실시간 모니터링

WebSocket 구독 및 스트리밍 데이터 최적화

모범 사례

성능 지침 및 리소스 관리

트랜잭션 최적화

컴퓨팅 단위 관리

1. 실제 사용량을 결정하기 위한 시뮬레이션:
2. 여유를 고려한 적절한 한계 설정:

우선 수수료 최적화

1. 동적 수수료 추정치 얻기:
2. 우선 수수료 적용:

트랜잭션 전송 모범 사례

데이터 검색 최적화

향상된 페이지네이션 방법 (V2)

대규모 데이터 쿼리의 경우, 커서 기반 페이지네이션을 사용하는 새로운 V2 방법을 사용하십시오:

⚡ 성능 향상

getProgramAccountsV2getTokenAccountsByOwnerV2는 대규모 데이터셋을 다루는 애플리케이션에 상당한 성능 개선을 제공합니다:
  • 구성 가능한 제한: 요청당 1-10,000 계정
  • 커서 기반 페이지네이션: 대규모 쿼리 시 시간 초과 방지
  • 증분 업데이트: 실시간 동기화를 위해 changedSinceSlot 사용
  • 더 나은 메모리 사용: 모든 데이터를 한 번에 불러오는 대신 스트리밍 데이터 사용
예시: 효율적인 프로그램 계정 쿼리
실시간 애플리케이션을 위한 증분 업데이트:

데이터 검색 최적화

효율적인 계정 쿼리

토큰 잔액 조회

거래 기록

전체 주소 기록은 getTransactionsForAddress —관련된 토큰 계정 활동을 포함한 완전한 거래 데이터를 한 번에 반환하는 Helius 독점 메서드를 사용하세요:

전송 기록

토큰 또는 SOL 이동만 필요할 경우 — 결제, 포트폴리오 활동, 잔액 조정 — getTransfersByAddress (Helius 독점, 개발자 플랜 이상 필요)을 사용하세요. 이미 소유자, 민트, 금액 및 소수 자리가 해결된 구문 분석된, 사람이 읽을 수 있는 전송 객체를 반환하여 거래 구문 분석을 완전히 건너뜁니다:
기본 원칙: 전체 거래 페이로드나 비전송 활동이 필요하다면 getTransactionsForAddress를 사용하고, 원천이 깨끗한 전송 기록이 필요하다면 getTransfersByAddress를 사용하세요.

실시간 모니터링

계정 구독

프로그램 계정 모니터링

트랜잭션 모니터링

고급 패턴

스마트 재시도 로직

메모리 효율적 처리

연결 풀링

성능 모니터링

RPC 사용량 추적

모범 사례

약속 수준

  • 사용 용도: WebSocket 구독, 실시간 업데이트
  • 지연: 약 400ms
  • 신뢰성: 대부분의 애플리케이션에 적합

자원 관리

오류 처리

피해야 할 일반적인 실수

다음과 같은 일반적인 실수를 피하세요:
  • WebSocket 구독 대신 폴링
  • 필요한 부분 데이터만 필요할 때 전체 계정 데이터 가져오기
  • 다중 쿼리를 위한 배치 작업을 사용하지 않음
  • 비율 제한 무시 및 적절한 재시도 로직 미구현
  • finalized 약속을 사용할 때 confirmed로 충분한 경우
  • 구독을 닫지 않아 메모리 누수 발생

관련 메서드

이 가이드의 최적화 기술은 다음의 WebSocket 및 RPC 메서드를 참조합니다:

getTransactionsForAddress

필터링, 정렬 및 토큰 계정 지원이 포함된 전체 거래 기록 (Helius 독점)

getTransfersByAddress

결제 및 조정을 위한 구문 분석된 토큰 및 SOL 전송 기록 (Helius 독점)

getTransaction

서명으로 전체 거래 세부 정보 검색

getProgramAccounts

프로그램 소유의 모든 계정 검색

getTokenAccountsByOwner

지갑의 토큰 계정 얻기

getMultipleAccountsInfo

여러 계정 세부 정보를 일괄 검색

getAccountInfo

단일 계정 정보 얻기

accountSubscribe

WebSocket을 통해 계정 변경 구독

programSubscribe

WebSocket을 통해 프로그램 계정 변경 구독

logsSubscribe

WebSocket을 통해 거래 로그 구독

요약

이러한 최적화 기술을 구현함으로써 다음을 달성할 수 있습니다:
  • 60-90% 감소 API 호출량
  • 실시간 운영에 대한 상당히 낮은 지연 시간
  • 대상 쿼리를 통해 대역폭 사용 감소
  • 스마트 재시도 로직으로 인한 오류 복원력 증가
  • 효율적인 자원 사용을 통한 운영 비용 절감

다음 단계

이러한 최적화를 구현할 준비가 되셨나요? 트랜잭션에 특화된 모범 사례를 위한 트랜잭션 최적화 가이드를 확인하세요.