Solana Direct Shreds (ShredStream), 이제 TypeScript에서도 사용 가능

ELSOUL LABO B.V. (본사: 네덜란드 암스테르담, 대표이사 CEO: Fumitake Kawasaki)와 Validators DAO는 Solana Direct Shreds의 TypeScript 지원이 시작되어, 사용자가 TypeScript에서도 가장 빠른 Solana 데이터 스트림에 접근할 수 있게 되었다고 발표하게 되어 기쁘게 생각합니다.
Solana Direct Shreds Stream은 Geyser gRPC Stream을 능가하는 속도로 사용자들의 높은 호평을 받아 왔습니다. 지금까지 ShredStream 클라이언트는 주로 Rust에서만 사용할 수 있었지만, Validators DAO는 TypeScript 환경에서도 ShredStream을 사용할 수 있는 솔루션을 개발했습니다.
TypeScript에서 ShredStream 사용하기
ShredStream은 Solana 데이터 스트리밍 속도 면에서 폭넓은 지지를 받아 왔습니다. 그동안 ShredStream 클라이언트는 Rust에서만 사용 가능해, TypeScript 사용자에게는 불편함이 있었습니다.
많은 개발자의 요청에 응답하여, Validators DAO는 npm 패키지 'Solana Stream SDK v0.3.0' 이상에서 TypeScript로 ShredStream을 사용할 수 있도록 했습니다. 이를 통해 개발자는 Solana의 실시간 데이터 스트림을 프로젝트에 손쉽게 통합할 수 있습니다.
NAPI + Rust를 통한 고속 디코딩
기존에는 TypeScript로 Solana Shreds를 디코딩할 수 없었지만, 저희는 **NAPI(Node-API)**를 활용해 디코딩 부분에만 Rust를 적용함으로써 이 문제를 해결했습니다. 이를 통해 Rust의 고성능을 그대로 활용하면서도 TypeScript에서 원활하게 사용할 수 있습니다.
Solana Entry Decoder - npm: https://www.npmjs.com/package/@validators-dao/solana-entry-decoder
NAPI vs. WASM
NAPI는 Node.js와 네이티브 코드(Rust 등) 간의 효율적이고 간편한 통합을 위해 설계된 API입니다. Node.js와 Rust 같은 다른 언어 사이의 고성능 바인딩을 가능하게 하여 사용하기 쉽습니다. 반면 WASM(WebAssembly)은 주로 브라우저에서 코드를 실행하기 위한 다른 목적으로 사용됩니다. NAPI를 선택한 이유는 다음과 같습니다.
- 성능: NAPI는 Node.js와 Rust 간 직접적인 바인딩을 제공하여, WebAssembly 대비 더 낮은 오버헤드로 더 나은 성능을 발휘합니다.
- 간단한 통합: NAPI는 Node.js와 Rust를 효율적으로 통합하여, 추가 도구나 별도 구성 없이 메모리 관리와 함수 호출을 처리할 수 있습니다.
- 메모리 효율: NAPI는 WASM 대비 더 나은 메모리 관리 기능을 제공하여 메모리 누수와 불필요한 가비지 컬렉션의 위험을 줄입니다.
- 향상된 디버깅 및 유지보수성: NAPI로 빌드된 네이티브 모듈은 디버깅이 쉬워, WASM 특유의 복잡한 디버깅 과정을 피할 수 있습니다.
- 폭넓은 호환성: NAPI는 환경별 조정이나 추가 컴파일 단계 없이 다양한 Node.js 버전을 기본 지원합니다.
Node-API - Node.js: https://nodejs.org/api/n-api.html#node-api
무료 체험으로 경험하는 고속 스트리밍

Validators DAO는 공식 Discord 서버에서 Solana Direct Shreds Stream 1일 무료 체험을 제공하고 있습니다. 가장 빠른 Solana 데이터 스트림을 직접 경험하고 Solana 프로젝트나 트레이딩에 활용해 보실 좋은 기회입니다.
Solana Stream SDK v0.3.0의 주요 기능

- 즉시 설정: 시작을 위한 특별한 구성이나 추가 코드가 필요 없습니다.
- 크로스 플랫폼 지원: TypeScript(NPM)와 Rust(Crates.io)를 모두 지원합니다.
- 고급 필터링 기능: 트랜잭션 및 계정 기반 필터링이 가능합니다.
- 고성능 스트림 지원: Geyser gRPC, ShredStream, ERPC Direct Shreds 등 다양한 고속 스트림을 지원합니다.
자세한 내용은 다음을 확인하시기 바랍니다.
앞으로의 계획
Validators DAO는 사용자 피드백을 바탕으로 Solana 생태계를 더욱 강화할 도구와 라이브러리 개발을 계속해 나갈 것입니다. Solana 데이터 스트리밍 기술의 향후 발전에 많은 관심 부탁드립니다.


