
LaserStream 소개: 차세대 Solana 데이터 스트리밍
목차
LaserStream은 전용 노드에서 실행하는 gRPC를 그대로 대체할 수 있습니다. 48시간의 과거 데이터 재생과 자동 재연결을 지원하므로 Solana의 모든 팀이 전용 인프라 운영 비용의 일부만으로 트랜잭션, 슬롯, 블록, 계정 변경 사항을 스트리밍할 수 있습니다.
LaserStream이란?
LaserStream은 안정적이고 지연 시간이 짧은 Solana 데이터가 필요한 개발자를 위해 설계된 차세대 스트리밍 서비스입니다. 트랜잭션, 슬롯, 블록, 계정 등 온체인 이벤트를 업계 최고 수준의 안정성, 성능, 유연성으로 앱에 직접 전달합니다.
LaserStream은 하나의 전용 노드에 의존하지 않습니다. 여러 Solana 노드에 연결해 데이터를 집계한 후 프런트엔드 앱이나 백엔드 데이터베이스로 스트리밍합니다.
이처럼 간결하고 중복성을 갖춘 확장 가능한 구성 덕분에 전용 인프라를 관리할 필요가 없습니다. 지연 시간은 더 안정적이며 업데이트도 놓치지 않습니다.
LaserStream은 과거 데이터 재생도 지원합니다. 구독이 일시 중지되거나 연결이 끊겨도 지난 48시간의 데이터를 다시 받아 처리할 수 있습니다.
LaserStream 무료 체험을 신청하고 Solana의 진정한 속도를 경험해 보세요.
LaserStream 작동 방식
각 LaserStream 서버는 여러 Solana 노드에 연결해 수신 데이터의 중복을 제거하고 최신 슬롯 버퍼를 유지합니다. 따라서 개발자는 과거 슬롯을 재생할 수 있습니다.
LaserStream은 고가용성, 데이터 정확성, 확장성을 보장하기 위해 7개 리전에 배포됩니다. 각 리전에서는 중복성을 확보하기 위해 여러 서버를 운영합니다.
한 리전의 서버에 장애가 발생하면 트래픽이 해당 리전에서 사용 가능한 다음 서버로 자동 전환됩니다.
따라서 서버 유지보수나 예기치 않은 장애가 발생해도 애플리케이션은 고품질 데이터 피드에 계속 연결됩니다.
LaserStream 기능
LaserStream은 전용 노드를 그대로 대체할 수 있으며, gRPC를 사용하는 제품에 다양한 고유 이점을 제공합니다.
과거 데이터 재생 및 자동 재연결
WebSockets와 gRPC에서 흔히 발생하는 문제는 소켓 연결 해제와 데이터 누락입니다. LaserStream은 자동 재연결과 과거 데이터 재생으로 이 문제를 해결합니다.
LaserStream에서는 최대 48시간 전 슬롯까지 재생할 수 있어 연결이 끊겨도 중요한 데이터를 잃지 않습니다. 재연결을 관리하거나 예기치 않은 장애로 누락된 블록을 백필하기 위한 사용자 지정 코드도 필요 없습니다.
뛰어난 중복성과 안정성
Solana 데이터 스트리밍 서비스에서 안정성과 데이터 정확성은 타협할 수 없는 요소입니다. LaserStream은 전 세계에 분산된 서버 클러스터를 사용하며, 각 서버는 여러 Solana 노드의 지원을 받습니다. 데이터 스트림이 중단되지 않고 항상 정확한 데이터를 수신할 수 있습니다.
- 전 세계에 분산된 클러스터로 고가용성 기본 제공
- 클러스터는 프랑크푸르트, 암스테르담, 솔트레이크시티, 도쿄, 싱가포르, 피츠버그, 뉴어크 등 7개 리전에 분산
- 모든 리전에서 여러 LaserStream 서버 운영
- 각 서버는 복원력 확보를 위해 여러 Solana 노드로 지원
- 로드 밸런서를 통해 클라이언트를 자동으로 전환하여 원활한 장애 조치 보장
수동 장애 조치도, 데이터 손실에 대한 걱정도 없습니다. 스트리밍은 계속됩니다.
네이티브에 가까운 성능
실시간 데이터 스트리밍은 시간에 민감하며, 수익성 높은 거래의 성패를 가를 수 있습니다.
LaserStream은 Solana 네트워크가 가장 붐비는 에포크에도 빠르고 안정적으로 작동하도록 설계되었습니다. 멀티 리전 릴레이 메시가 실시간 지연 시간을 지속적으로 확인하고 각 구독을 가장 빠른 경로로 라우팅합니다. 초당 수만 개의 메시지를 처리하면서도 전송 지터를 밀리초 단위로 유지합니다.
업스트림 노드나 리전 전체에 일시적인 문제가 생기면 연결이 밀리초 내에 다음 릴레이로 전환됩니다. 누락된 슬롯도 최대 48시간까지 자동 재생하므로 이벤트를 놓치지 않습니다.
그 결과 중단 없는 고처리량 스트림을 사용할 수 있어 가동 시간 대신 전략에 집중할 수 있습니다.
즉시 설정
기존에는 트레이더와 지연 시간에 민감한 애플리케이션이 실시간 업데이트를 스트리밍하려면 Geyser 플러그인을 실행하는 전용 노드가 필요했습니다. 하지만 전용 노드 운영은 복잡하고 시간이 많이 들며, 원하는 위치의 재고 상황에도 좌우됩니다.
LaserStream은 gRPC 스트림용 노드를 직접 프로비저닝, 구성, 모니터링, 관리하는 번거로움을 없앱니다. 동시에 더 뛰어난 성능과 개발자 친화적인 기능을 제공합니다.
LaserStream은 Enhanced WebSockets 및 gRPC와 완전히 호환되는 익숙한 인터페이스를 사용하므로 현재 구성을 원활하게 대체할 수 있습니다.
복잡한 마이그레이션도, 새로운 구문도 필요 없습니다.
기존 gRPC URL을 LaserStream URL로 교체하기만 하면 최고의 성능과 안정성을 경험할 수 있습니다.
고급 필터링
Solana의 방대한 데이터를 처리하려면 포괄적이고 유연한 필터링 옵션이 필요합니다. 그래야 가장 중요한 정보만 수신할 수 있습니다.
LaserStream으로 데이터를 정밀하게 제어하세요. 특정 계정, 계정 소유자, 트랜잭션 상태, 블록 메타데이터, 슬롯 등을 기준으로 손쉽게 필터링할 수 있습니다.
더 합리적인 요금
전용 노드는 월 $2,900부터 시작하므로 스타트업과 비용에 민감한 애플리케이션에 큰 부담이 될 수 있습니다. LaserStream을 사용하면 Helius Professional 플랜(월 $999)을 이용하는 모든 팀이 고성능 실시간 데이터 스트림에 액세스할 수 있습니다.
자세한 내용은 플랜 및 요금 페이지에서 확인할 수 있습니다.
LaserStream 시작하기
다음은 LaserStream SDK를 통해 gRPC로 연결하는 방법을 설명하는 빠른 시작 가이드입니다.
gRPC 빠른 시작
다음 단계에 따라 LaserStream을 시작하세요.
LaserStream gRPC는 Yellowstone gRPC 라이브러리와 완전히 호환됩니다. 공개 엔드포인트 중 하나를 사용하고 API 키를 토큰으로 전달하세요.
1. 새 프로젝트 생성
mkdir laserstream-grpc-demo
cd laserstream-grpc-demo
npm init -y2. 종속성 설치
npm install helius-laserstream
npm install --save-dev typescript ts-node
npx tsc --init3. API 키 발급
대시보드의 엔드포인트 페이지에서 API 키를 생성하고 엔드포인트를 선택하세요.
4. 구독 스크립트 생성
index.ts 파일에 다음 코드를 추가하세요.
import { subscribe, CommitmentLevel, LaserstreamConfig, SubscribeRequest } from 'helius-laserstream'
async function main() {
const subscriptionRequest: SubscribeRequest = {
transactions: {
client: {
accountInclude: [‘pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA’],
accountExclude: [],
accountRequired: [],
vote: false,
failed: false
}
},
commitment: CommitmentLevel.CONFIRMED,
accounts: {},
slots: {},
transactionsStatus: {},
blocks: {},
blocksMeta: {},
entry: {},
accountsDataSlice: [],
// Optionally, you can replay missed data by specifying a fromSlot:
// fromSlot: '224339000'
// Note: Currently, you can only go back 48 hours
};
// Replace these values with your actual Laserstream API key and endpoint
const config: LaserstreamConfig = {
apiKey: 'your-api-key',
endpoint: 'your-endpoint',
}
await subscribe(config, subscriptionRequest, async (data) => {
console.log(data);
}, async (error) => {
console.error(error);
});
}
main().catch(console.error);5. 실행 및 결과 확인
npx ts-node index.ts확인된 트랜잭션에 pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA 계정이 포함될 때마다 콘솔에 트랜잭션 업데이트가 표시됩니다.
이전 데이터를 재생하려면 fromSlot 매개변수의 주석을 해제하고 시작할 최근 슬롯을 지정하세요.
더 많은 가이드와 예시는 LaserStream gRPC 문서를 참조하세요.
LaserStream 이용 요건
Developer 플랜(월 $49) 이상을 이용하는 모든 Helius 고객은 Devnet에서 LaserStream을 사용할 수 있습니다. Professional 플랜(월 $999) 이상 고객은 Mainnet에서도 LaserStream을 사용할 수 있습니다.
업그레이드하거나 마이그레이션하기 전에 Solana Mainnet에서 LaserStream을 평가하려면 무료 체험을 신청하세요.
LaserStream 지원
문제가 발생했거나 질문 또는 일반적인 피드백이 있다면 Discord 또는 Telegram으로 문의해 주세요. 여러분의 의견을 듣고 문제 해결을 도와드리겠습니다.
감사의 말
Kirill Fomichev에게 특별히 감사드립니다. LaserStream은 그의 뛰어난 Richat 프로젝트를 기반으로 만든 사용자 지정 포크입니다.
관련 아티클
Helius 구독하기
최신 Solana 개발 소식을 확인하고 새 게시물 알림을 받아보세요


