Skip to main content

Midnight Indexer 공식 전환 — Scala Indexer 완전 폐기

· 3 min read
DevRel
Midnight DevRel team

지난달 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 노드에서 블록을 가져와 처리
  • 트랜잭션, contract action, event를 인덱싱
  • 쿼리, mutation, 실시간 subscription을 지원하는 GraphQL API 제공
  • 지갑과 안전하게 연결하여 세션 범위로 필터링된 데이터 전달
  • PostgreSQL(클라우드)과 SQLite(로컬/독립 실행) 모두 지원

How it works​

Indexer는 세 가지 핵심 컴포넌트로 구성됩니다:

  • Chain Indexer - 노드에 연결하여 블록을 가져오고, 트랜잭션과 컨트랙트 활동을 추출해 데이터베이스에 기록합니다.
  • Wallet Indexer - 활성 지갑을 모니터링하고 관련 event에 연결하여 개인화된 실시간 데이터 피드를 제공합니다.
  • Indexer API - 인덱싱된 모든 데이터를 GraphQL로 제공하며 다음을 지원합니다:
    • 특정 쿼리(블록 높이/해시, tx ID, 컨트랙트 주소별)
    • 실시간 subscription(새 블록, 지갑 활동, 컨트랙트 호출)
    • 지갑별로 데이터 접근 범위를 제한하는 보안 세션

Latest release v2.1.1 highlights​

v2.1.1 릴리스에는 Indexer 관련 주요 패치와 내부 개선이 포함되어 있습니다. 트랜잭션 및 contract action 쿼리가 정확한 결과를 반환하도록 수정한 버그 픽스, Chain Indexer의 트랜잭션 적용 로직을 더 자연스러운 구조로 간소화한 리팩터링 등이 있습니다. 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로 교체하세요.
  • 통합 테스트

    • 모든 GraphQL 연산(쿼리, mutation, subscription)을 새 Indexer에서 검증하세요.
  • 의존성 업데이트

    • Midnight Node v0.12+
    • Midnight Wallet v5.0.0+
    • Lace Wallet v3.0.0+
note

Scala Indexer는 더 이상 지원되지 않습니다. 모든 향후 개발은 Rust 기반 Indexer에 집중됩니다.

Open source release​

Rust 기반 Midnight Indexer가 오픈소스로 공개되었습니다. GitHub에서 소스 코드를 확인하고, 개선 사항을 기여하고, 이슈를 보고하거나, 프로젝트를 포크하여 직접 도구를 만들 수 있습니다.

경력과 무관하게 모든 개발자의 기여를 환영합니다. 버그 수정, 성능 개선, 기능 확장 등 어떤 형태든 좋습니다.