Solana 백테스팅

실제로 일어난 체인 위에서전략을 테스트하세요.

기존 Yellowstone gRPC 클라이언트로 Solana 메인넷의 지난 24시간을 리플레이합니다. 같은 프로토콜, 같은 순서, 100μs 정밀도. 리플레이 단위 과금.

왜 히스토리 리플레이인가

메인넷이 유일하게 정직한 백테스트입니다.

데브넷에는 MEV도, 혼잡도, 실제 상대도 없습니다. 자체 시뮬레이터는 새 프로그램이 새 엣지 케이스에 부딪히는 순간 밸리데이터 동작에서 벗어납니다.

sillage.sh는 메인넷 24시간 — 모든 계정 쓰기, 모든 트랜잭션, 모든 블록 — 을 보관하고, 라이브 봇이 이미 사용 중인 동일한 프로토콜로 다시 흘려보냅니다. 실제로 일어난 체인을, 요청 시, 일어난 그 타이밍으로.

동작 방식

라이브 구독에서 세 단계.

  1. 01
    클라이언트를 sillage 엔드포인트로 향하게 합니다.

    같은 Yellowstone gRPC, 같은 SubscribeRequest, 같은 필터. sillage.sh가 서버로서 프로토콜을 그대로 제공합니다.

  2. 02
    지난 24시간 내의 시작 슬롯을 전달합니다.

    스트림이 그 지점에서 시작되어 월클락 속도로 재생되며, 슬롯 내부 순서가 100마이크로초 단위로 보존됩니다.

  3. 03
    스트리밍 플랜을 태우지 않고 반복합니다.

    리플레이 단위 과금. 튜닝 루프에 필요한 만큼 어제의 윈도우를 반복 실행하세요.

드롭인

yellowstone-grpc-client, 그대로.

변경되는 것은 엔드포인트와 시작 슬롯뿐입니다. SubscribeRequest, 필터, 메시지 처리는 그대로 동작합니다.

백테스트 리플레이
let mut client = GeyserGrpcClient::build_from_shared(
    "https://replay.sillage.sh",
)?
    .x_token(Some(api_key))?
    .connect()
    .await?;

let req = SubscribeRequest {
    // any slot within the last 24 hours
    from_slot: Some(312_847_201),
    transactions: hashmap! {
        "swaps".into() => SubscribeRequestFilterTransactions {
            account_include: vec![JUPITER_V6.into()],
            ..Default::default()
        },
    },
    ..Default::default()
};

let (_, mut stream) =
    client.subscribe_with_request(Some(req)).await?;

while let Some(msg) = stream.next().await {
    handle(msg?);
}
질문

가입 전에 사람들이 묻는 것.

엔드포인트는 어떻게 받나요?

웨이트리스트에 등록하세요. 처음 100명의 멤버는 무료 24시간 리플레이를 받고, 그 외에는 코호트가 열릴 때마다 엔드포인트를 받습니다.

클라이언트 코드를 바꿔야 하나요?

아닙니다. sillage.sh는 Yellowstone gRPC 프로토콜을 서버로서 제공합니다. 기존 클라이언트를 새 엔드포인트로 향하게 하고 시작 슬롯을 전달하면 — SubscribeRequest, 필터, 메시지 처리가 그대로 동작합니다.

리플레이의 정밀도는 어느 정도인가요?

모든 메시지는 라이브 캡처 시 수신된 타임스탬프를 100마이크로초 단위로 보존합니다. 슬롯 내부 순서, 전파 지연, 실제 네트워크 시간의 결이 일어난 그대로 재현됩니다.

왜 24시간 윈도우인가요?

현재 체인 팁에서 뒤로 거슬러, 연속 롤링됩니다. 저희가 서비스하는 워크로드 — 백테스팅, 인덱서 백필, 리오그 검증 — 은 모두 이 윈도우 안에 있습니다. 24시간을 넘기면 리플레이는 더 이상 비용을 정당화하지 못합니다.

자체 RPC를 운영하는 것과 어떻게 다른가요?

RPC는 온디맨드 쿼리를 제공할 뿐, 어제 일어난 모든 계정 쓰기를 시간 순서대로 다시 흘릴 수 있는 스트림을 주지 않습니다. sillage.sh는 봇이 이미 연결되어 있는 그 프로토콜로 그것을 제공합니다.

라이브 Yellowstone 프로바이더와 어떻게 비교되나요?

Helius, Triton, QuickNode는 모두 체인을 앞으로 멋지게 스트리밍합니다. 같은 프로토콜로 24시간의 히스토리를 리플레이 단위 과금으로 제공하는 곳은 없습니다. 그것이 sillage.sh가 만들어진 정반대의 영역입니다.

실제 체인으로 백테스트하세요.

문이 열리기 전에 엔드포인트를 받으세요.