Solana Stream SDK, Solana v3 업그레이드를 완전히 지원하도록 업데이트

ELSOUL LABO B.V. (본사: 네덜란드 암스테르담, 대표이사 CEO: Fumitake Kawasaki)와 Validators DAO는 Solana v3 업그레이드를 완전히 지원하도록 업데이트된 오픈소스 Solana Stream SDK의 새 버전을 출시했습니다. Rust와 TypeScript 에디션이 모두 업그레이드되어 다가오는 Alpenglow 시대에도 Shreds와 Geyser gRPC를 포함한 Solana 실시간 데이터 스트림에 안정적이고 고성능으로 액세스할 수 있습니다.
Rust crate
solana-stream-sdk는 버전 0.6.1에서 Solana v3를 지원하며, TypeScript / Node.js 패키지 @validators-dao/solana-stream-sdk는 버전 0.12.0으로 업데이트되었습니다. 두 에디션은 Solana가 차세대 아키텍처로 전환하는 과정에서 고성능 스트림 처리를 위한 통합 기반을 제공합니다.배경 – Solana v3와 Alpenglow에 클라이언트 업데이트가 필요한 이유
Solana v3는 새로운 Alpenglow 합의 아키텍처를 향한 주요 전환을 의미합니다. Alpenglow는 기존의 TowerBFT + Proof of History 조합을 네트워크 응답성을 크게 향상하도록 재설계된 합의 경로로 대체합니다. Alpenglow에서는 최종성이 현재 약 12초에서 약 100–150밀리초로 단축될 것으로 예상됩니다.
이 변화는 블록 생성 속도와 네트워크 전반의 실시간 데이터 전파 특성을 근본적으로 바꿉니다.
이 변화는 블록 생성 속도와 네트워크 전반의 실시간 데이터 전파 특성을 근본적으로 바꿉니다.
동시에 validator와 RPC 운영자는 v3에서 더 잦은 빌드 주기와 구성 업데이트 등 증가한 운영 요구사항에 직면합니다. Validators DAO는 SLV와 같은 도구를 통해 서버 측 환경을 현대화해 왔지만, 이러한 전환은 중요한 점도 부각합니다.
클라이언트 소프트웨어도 v3로 업데이트해야 네트워크의 성능 향상을 완전히 실현할 수 있습니다.
이는 Shreds와 Geyser gRPC 같은 실시간 스트림에서 특히 중요합니다. 새로운 사양이나 런타임 특성을 따르지 않는 클라이언트는 시간이 지남에 따라 지연시간이 누적되거나 일관성을 잃는 경향이 있습니다. RPC 노드와 validator가 v3로 이동함에 따라 클라이언트 소프트웨어도 이제 함께 마이그레이션해야 합니다.
이번 Solana Stream SDK 업데이트의 목표는 이러한 간극을 메우고 Alpenglow 시대의 실시간 애플리케이션을 위한 즉시 사용 가능한 기반을 제공하는 것입니다.
Solana Stream SDK v0.6.1(Rust)와 v0.12.0(TypeScript)의 새로운 기능
Solana Stream SDK는 처음부터 Shreds와 Geyser gRPC를 모두 지원하도록 설계되었습니다. 이번 릴리스에서는 Solana v3에서 안정적인 성능과 Alpenglow 기반 런타임에 대한 준비를 보장하기 위해 SDK를 여러 측면에서 개선했습니다.
Rust Crate v0.6.1
Rust 에디션은 최대 처리량이 필요한 트레이더, 인덱서 및 모든 실시간 워크로드를 위한 고성능 레퍼런스 구현으로 설계되었습니다. 주요 업데이트는 다음과 같습니다.
- Solana v3 시리즈의 프로토콜 변경 지원
- Rust 비동기 런타임을 통한 Shreds 및 Geyser gRPC 스트림의 효율적인 처리
- Shreds 관련 protobuf 정의를 둘러싼 래퍼 개선으로 더욱 쉬워진 스트림 처리 로직 구현
- 지속적인 고처리량 환경에서도 지연시간 누적을 최소화하도록 최적화된 멀티스레드 실행 경로
최고 수준의 성능으로 Shreds와 Geyser gRPC를 완전히 활용해야 하는 사용자에게 Rust 에디션을 권장합니다.
TypeScript / Node.js v0.12.0
TypeScript 에디션은 내부적으로 Rust 기반 스트림 처리를 통합하면서 Node.js 개발의 편의성을 유지하도록 설계되었습니다. v0.12.0에서는 다음 개선사항이 적용되었습니다.
- 기존 이벤트 기반 인터페이스(예:
emitter.on)를 완전히 유지하여 호환성을 깨는 변경 방지 - 내부 스트림 처리를 위한 Rust 및 NAPI-RS 통합으로, 이전에
@grpc/grpc-js가 한계에 도달했던 환경에서도 Node.js가 Shreds를 안정적으로 처리 - Solana v3 호환성을 보장하도록 Geyser gRPC 및 Shreds 스트림 모두의 처리 방식 업데이트
대부분의 사용자는 package.json에서 버전만 올리면 v0.12.0으로 업그레이드할 수 있으며, 코드 수정은 필요하지 않습니다.
Node.js만으로 Shreds를 따라갈 수 없는 이유
ShredStream은 Solana 생태계에서 지연시간이 가장 낮고 빈도가 가장 높은 데이터 소스입니다. Shreds는 네트워크 활동을 실시간으로 비할 데 없이 잘 보여주지만, 클라이언트에도 매우 높은 처리량을 요구합니다.
@grpc/grpc-js 기반 Node.js 클라이언트는 구조적 병목에 직면합니다.- 이벤트 루프가 단일 스레드이므로 protobuf 역직렬화와 사용자 콜백이 서로를 차단
- 메시지가 빠르게 도착하면 JavaScript 스레드가 포화되고 처리 큐가 누적
- 버퍼가 채워지면 HTTP/2 흐름 제어가 수신 창을 줄여 결국 스트림을 일시 중지하고 “네트워크가 느려짐” 또는 “데이터 없음”처럼 보이는 현상 발생
관찰된 많은 사례에서 문제는 네트워크나 ShredStream 서버가 아니라 Node.js 클라이언트가 내부적으로 뒤처지는 것입니다.
이 한계는 필터링되지 않은 Shreds를 대규모로 처리할 때 Node.js에 본질적으로 존재합니다.
Rust + NAPI-RS가 이를 해결합니다.
Rust + NAPI-RS가 Node.js 스트림 처리를 가속하는 방식
Solana Stream SDK의 TypeScript 에디션은 익숙한 JavaScript API를 유지하면서 무거운 작업을 Rust로 오프로드합니다.
- gRPC 연결 관리, 스트림 수집, protobuf 역직렬화를 Rust에서 비동기적으로 실행
- Node.js는 처리된 데이터를 표준 스트림 또는 이벤트 이미터로 수신하므로 기존 코드가 그대로 계속 작동
- NAPI-RS가 Rust와 Node.js 사이의 오버헤드를 최소화하여 JavaScript 인터페이스 뒤에서 진정한 멀티스레드 처리량 구현
그 결과 Solana Stream SDK로 작성된 애플리케이션은
@grpc/grpc-js를 사용하는 Node.js 전용 방식보다 훨씬 많은 Shred 및 Geyser gRPC 처리량을 다룰 수 있으며, 높은 트래픽에서도 안정적인 지연시간 특성을 유지합니다.하나의 SDK에서 Shreds와 Geyser gRPC를 모두 지원하는 이유
Solana의 실시간 데이터는 서로 보완적인 두 계층으로 볼 수 있습니다.
- Shreds:
리더가 직접 방출하는 초저지연 조각으로, 체인 활동을 가능한 가장 이른 시점에 확인할 수 있습니다. - Geyser gRPC:
슬롯, 트랜잭션, 계정 업데이트로 구성된 구조화된 스트림으로, 명확하고 예측 가능한 데이터 모델을 제공합니다.
Solana Stream SDK를 사용하면 개발자는 먼저 Geyser gRPC로 데이터 구조를 이해한 다음, 도구를 바꾸거나 파이프라인을 다시 작성하지 않고도 초저지연 시나리오를 위해 Shreds로 전환할 수 있습니다.
Alpenglow가 블록 생성과 확인을 가속함에 따라 이러한 이중 계층 접근 방식은 더욱 큰 가치를 갖게 됩니다.
시작하기: 리소스와 테스트 환경
Solana Stream SDK는 완전한 오픈소스이며 Shreds와 Geyser gRPC 모두의 샘플 코드가 GitHub에서 제공됩니다.
Rust Crate (v0.6.1): https://crates.io/crates/solana-stream-sdk
npm (TypeScript, v0.12.0): https://www.npmjs.com/package/@validators-dao/solana-stream-sdk
GitHub - Solana Stream SDK: https://github.com/ValidatorsDAO/solana-stream
실제 환경에서 테스트할 수 있도록 ERPC는 고성능 ShredStream 및 Geyser gRPC 엔드포인트에 대해 1일 무료 체험을 제공합니다. 이를 통해 개발자는 프로덕션 수준의 조건에서 v3 동작을 검증할 수 있습니다.
ERPC 공식 웹사이트: https://erpc.global/ko/
Validators DAO 커뮤니티 참여
Solana v3, Alpenglow, 실시간 스트림 설계, SDK 개선에 관한 질문과 피드백, 논의는 Validators DAO 커뮤니티에서 환영합니다.
Validators DAO 공식 Discord: https://discord.gg/C7ZQSrCkYR
Solana가 Alpenglow 시대로 전환함에 따라 네트워크는 전례 없는 수준의 실시간 성능을 달성하게 됩니다. Validators DAO와 ELSOUL LABO는 개발자가 Solana에서 차세대 실시간 애플리케이션을 구축할 수 있도록 고품질 오픈소스 도구를 계속 제공하겠습니다.
지속적인 지원에 감사드립니다.


