Documentation Index
Fetch the complete documentation index at: https://docs.solayer.org/llms.txt
Use this file to discover all available pages before exploring further.
Protocol Specification
Solayer Chain uses gRPC to communicate for synchronization purposes, including streaming the latest slot information. gRPC is chosen over QUIC because it is better supported by SDN switches, which the sequencer uses for packet preprocessing, forwarding, and load balancing. In addition to gRPC streaming, Solayer Chain also uses HTTP to serve snapshots that allows for verifier and RPC nodes to sync. The HTTP service is expected to be exposed to public users, with CDN and PCDN enabled.Protobuf Definition
The protobuf definition below specifies the gRPC service interface and message formats used for Solayer Chain synchronization. The protocol uses bincode+zstd for transaction data to optimize network bandwidth and includes detailed metadata to support both streaming and repair operations. Key methods and streaming endpoints:- GetLatestSlot: Retrieves current slot information for synchronization (equivalent to Solana RPC
getSlotwithconfirmedfinality). - StartReceivingSlots: Streams slot data from the leader node, including blockhash, parent blockhash, timestamp, and shred IDs (equivalent to Solana RPC
getSlotwithconfirmedfinality). - SubscribeTransactionBatches: Streams real-time transaction batch notifications containing slot number, timestamp, and all transactions with state changes (equivalent to Solana RPC
getSlotwith all transactions atprocessedfinality).
HTTP endpoints
| Endpoint | Cachable | Purpose | Response |
|---|---|---|---|
| GET /solayer/snapshots | No | List available snapshots | JSON array of snapshot file names |
| GET /solayer/files/<filename> | Yes | Download snapshot | zstd compressed snapshot |