> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chainstream.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Solana Kafka 토픽

> Solana Kafka 토픽 이름, 파티션 키, 페이로드 스키마 레퍼런스 목록.

Solana에 대해 발행되는 Kafka 토픽의 권위 있는 목록입니다. 모든 토픽은 `sol.` 접두사를 사용합니다.

엔드투엔드 연결 상세, SASL 크리덴셜, SDK 예시는 [접근 방식 → Kafka Streams → Solana Streams](/ko/docs/access-methods/kafka-streams/solana-streams)를 참고하세요. 권위 있는 Protobuf 정의는 [github.com/chainstream-io/streaming\_protobuf/solana](https://github.com/chainstream-io/streaming_protobuf/tree/main/solana)를 참고하세요.

## 파티셔닝

* **민트 주소** (32바이트 pubkey, base58 인코딩) — 토큰 중심 토픽(`tokens`, `dex.trades`, `dex.pools`, `candlesticks`, `token-prices`, `token-supplies`, `token-market-caps`, `trade-stats`, `token-holdings`)용
* **계정 주소** — 계정 중심 토픽(`balances`, `transfers`)용

동일 민트 또는 계정의 이벤트는 슬롯 순서로 같은 파티션에 도착합니다.

## 토픽 매트릭스

### DEX 거래

| 토픽                         | Proto 메시지     | 스키마 파일                     | 설명                                                    |
| -------------------------- | ------------- | -------------------------- | ----------------------------------------------------- |
| `sol.dex.trades`           | `TradeEvents` | `solana/trade_event.proto` | 원시 DEX 스왑 (Raydium, Meteora, Pump.fun, Jupiter 라우트 등) |
| `sol.dex.trades.processed` | `TradeEvents` | `solana/trade_event.proto` | USD / SOL 가격, 라우터 해석, 의심 플래그로 보강                      |

### 토큰

| 토픽                     | Proto 메시지     | 스키마 파일                     | 설명                                    |
| ---------------------- | ------------- | -------------------------- | ------------------------------------- |
| `sol.tokens`           | `TokenEvents` | `solana/token_event.proto` | 토큰 라이프사이클 이벤트 (민트, 메타데이터 업데이트, 권한 변경) |
| `sol.tokens.created`   | `TokenEvents` | `solana/token_event.proto` | 민트 생성 이벤트만 필터링한 스트림                   |
| `sol.tokens.processed` | `TokenEvents` | `solana/token_event.proto` | 메타데이터 JSON, 이미지, 소셜로 보강된 토큰           |

### 토큰 수준 통계

| 토픽                                | Proto 메시지             | 스키마 파일                                | 설명                        |
| --------------------------------- | --------------------- | ------------------------------------- | ------------------------- |
| `sol.token-prices`                | `TokenPriceEvent`     | `solana/token_price_event.proto`      | 집계된 가격 업데이트 (USD + SOL)   |
| `sol.token-supplies`              | `TokenSupplyEvent`    | `solana/token_supply_event.proto`     | 민트 공급량 변동 (민트/번)          |
| `sol.token-supplies.processed`    | `TokenSupplyEvent`    | `solana/token_supply_event.proto`     | 소수점 정규화 + USD 가치가 적용된 공급량 |
| `sol.token-market-caps.processed` | `TokenMarketCapEvent` | `solana/token_market_cap_event.proto` | 시가총액 (유통량 × 가격)           |
| `sol.token-holdings`              | `TokenHoldingEvent`   | `solana/token_holding_event.proto`    | 홀더 수, 상위 N 집중도            |
| `sol.trade-stats`                 | `TradeStatEvent`      | `solana/trade_stat_event.proto`       | 거래 수, 거래량, 고유 매수자 / 매도자   |

### 잔고

| 토픽                       | Proto 메시지       | 스키마 파일                       | 설명                       |
| ------------------------ | --------------- | ---------------------------- | ------------------------ |
| `sol.balances`           | `BalanceEvents` | `solana/balance_event.proto` | 계정별 원시 잔고 변동 이벤트         |
| `sol.balances.processed` | `BalanceEvents` | `solana/balance_event.proto` | USD + SOL 가치가 포함된 잔고 이벤트 |

### DEX 풀

| 토픽                        | Proto 메시지       | 스키마 파일                        | 설명                                |
| ------------------------- | --------------- | ----------------------------- | --------------------------------- |
| `sol.dex.pools`           | `DexPoolEvents` | `solana/dex_pool_event.proto` | 풀 생성 / 업데이트 / 동기화 이벤트 (CLMM 틱 포함) |
| `sol.dex.pools.processed` | `DexPoolEvents` | `solana/dex_pool_event.proto` | 유동성 USD + SOL과 수수료 티어로 보강된 풀 이벤트  |

### 전송

| 토픽                        | Proto 메시지                 | 스키마 파일                                  | 설명                               |
| ------------------------- | ------------------------- | --------------------------------------- | -------------------------------- |
| `sol.transfers`           | `TransferEvents`          | `solana/transfer_event.proto`           | 프로그램 호출 전송을 포함한 모든 SPL + 네이티브 전송 |
| `sol.transfers.processed` | `TransferProcessedEvents` | `solana/transfer_processed_event.proto` | 슬롯 시점 가격 + USD 가치로 보강된 전송        |

### 캔들스틱

| 토픽                 | Proto 메시지           | 스키마 파일              | 설명                    |
| ------------------ | ------------------- | ------------------- | --------------------- |
| `sol.candlesticks` | `CandlestickEvents` | `candlestick.proto` | 여러 해상도에 걸친 사전 집계 OHLC |

## 컨슈머 예시

```python theme={null}
from confluent_kafka import Consumer
from streaming_protobuf.solana.trade_event_pb2 import TradeEvents

consumer = Consumer({
    "bootstrap.servers": "kafka.chainstream.io:9093",
    "security.protocol": "SASL_SSL",
    "sasl.mechanism": "SCRAM-SHA-512",
    "sasl.username": "<your-username>",
    "sasl.password": "<your-password>",
    "group.id": "my-consumer",
    "auto.offset.reset": "latest",
})
consumer.subscribe(["sol.dex.trades.processed"])

while True:
    msg = consumer.poll(1.0)
    if msg is None or msg.error():
        continue
    events = TradeEvents.FromString(msg.value())
    for trade in events.Trades:
        print(trade)
```

Go와 JavaScript 동등 예시는 [Solana Streams 가이드](/ko/docs/access-methods/kafka-streams/solana-streams)를 참고하세요.

## 다음 단계

<CardGroup cols={2}>
  <Card title="EVM Kafka 토픽" icon="ethereum" href="/ko/api-reference/kafka-topics/evm">
    Ethereum, BSC, Base, Polygon 등의 토픽 목록
  </Card>

  <Card title="Tron Kafka 토픽" icon="bolt" href="/ko/api-reference/kafka-topics/tron">
    Tron의 토픽 목록
  </Card>

  <Card title="Kafka Streams 개요" icon="server" href="/ko/docs/access-methods/kafka-streams/overview">
    연결, 인증, 파티션 모델
  </Card>

  <Card title="Solana Streams 가이드" icon="book" href="/ko/docs/access-methods/kafka-streams/solana-streams">
    필드 정의 및 컨슈머 예시
  </Card>
</CardGroup>
