Midnight Indexer 공식 전환 — Scala Indexer 완전 폐기
지난달 Rust로 새롭게 작성한 모듈형 고성능 indexing 서비스, Midnight Indexer를 소개했습니다. 오늘은 이 Rust 기반 Midnight Indexer가 기존 Scala 기반 Pub-Sub Indexer를 공식 대체했다는 소식을 전합니다.
최신 릴리스 v2.1.1부터 새 Indexer가 Midnight 네트워크에서 애플리케이션을 개발할 때 유일하게 지원되는 indexing 서비스입니다.
What is the Midnight Indexer?
Midnight Indexer는 노드의 원시 데이터를 지갑과 애플리케이션에서 조회 가능한 형태로 변환하는 고성능 모듈형 시스템입니다. 주요 기능은 다음과 같습니다:
- Midnight 노드에서 블록을 가져와 처리
- Transaction, contract action, event를 인덱싱
- 쿼리, mutation, 실시간 subscription을 지원하는 GraphQL API 제공
- 지갑과 안전하게 연결하여 세션 범위로 필터링된 데이터 전달
- PostgreSQL(클라우드)과 SQLite(로컬/독립 실행) 모두 지원
How it works
Indexer는 세 가지 핵심 컴포넌트로 구성됩니다:
- Chain Indexer - 노드에 연결하여 블록을 가져오고, transaction 과 contract 활동을 추출해 데이터베이스에 기록합니다.
- Wallet Indexer - 활성 지갑을 모니터링하고 관련 event에 연결하여 개인화된 실시간 데이터 피드를 제공합니다.
- Indexer API - 인덱싱된 모든 데이터를 GraphQL로 제공하며 다음을 지원합니다:
- 특정 쿼리(블록 높이/해시, tx ID, contract 주소별)
- 실시간 subscription(새 블록, 지갑 활동, contract 호출)
- 지갑별로 데이터 접근 범위를 제한하는 보안 세션
Latest release v2.1.1 highlights
v2.1.1 릴리스에는 Indexer 관련 주요 패치와 내부 개선이 포함되어 있습니다. Transaction 및 contract action 쿼리가 정확한 결과를 반환하도록 수정한 버그 픽스, Chain Indexer의 transaction 적용 로직을 더 자연스러운 구조로 간소화한 리팩터링 등이 있습니다. Midnight Node v0.12, Midnight Wallet v5.0.0 이상, Lace Wallet v3.0.0 이상과 완벽히 호환됩니다.
What's been added since launch?
초기 출시 이후 Indexer는 다음과 같은 지속적인 개선을 거쳤습니다:
-
GraphQL API Enhancements
- 연산에 대한 트레이싱 및 카운터 추가
- 지갑 subscription 업데이트 재설계
- 스키마 네이밍 및 contract action 처리 개선
-
Improved Developer Experience
- Bech32m 인코딩 지원
- 에러 로깅 및 관측성 개선
- 더 간편한 설정과 배포
-
More Secure and Stable Sessions
- 최소한의 오버헤드로 지갑 세션 추적
- 무해한 데이터베이스 상태의 조용한 처리
-
Documentation Updates
- API 문서 및 온보딩 자료 개정
- Scala Indexer에서 업그레이드하는 팀을 위한 마이그레이션 안내
What This Means for You
Scala 기반 Indexer는 지원이 종료되었으며, 더 이상 업데이트가 제공되지 않습니다. 앞으로 모든 신규 개발, 도구, 지갑 통합은 Rust 기반 Midnight Indexer를 기준으로 진행됩니다.
What action do I need to take?
완벽한 호환성을 보장하려면 다음 사항을 확인하세요:
-
엔드포인트 업데이트
- 레거시 Scala 엔드포인트를
https://indexer-rs.testnet-02.midnight.network/api/v1/graphql로 교체하세요.
- 레거시 Scala 엔드포인트를
-
통합 테스트
- 모든 GraphQL 연산(쿼리, mutation, subscription)을 새 Indexer에서 검증하세요.
-
의존성 업데이트
- Midnight Node v0.12+
- Midnight Wallet v5.0.0+
- Lace Wallet v3.0.0+
Scala Indexer는 더 이상 지원되지 않습니다. 모든 향후 개발은 Rust 기반 Indexer에 집중됩니다.
Open source release
Rust 기반 Midnight Indexer가 오픈소스로 공개되었습니다. GitHub에서 소스 코드를 확인하고, 개선 사항을 기여하고, 이슈를 보고하거나, 프로젝트를 포크하여 직접 도구를 만들 수 있습니다.
경력과 무관하게 모든 개발자의 기여를 환영합니다. 버그 수정, 성능 개선, 기능 확장 등 어떤 형태든 좋습니다.