Двадцать четыре часа истории сети, доставляемые через ваш существующий клиент Yellowstone gRPC. Оплата за каждый реплей.
sillage.sh говорит по протоколу Yellowstone gRPC как сервер, без модификаций. Любой код, написанный для Triton, Helius или self-hosted Geyser-плагина, подключается без изменений. Передайте стартовый слот. Поток начнётся с этой точки.
use yellowstone_grpc_client::GeyserGrpcClient; let mut client = GeyserGrpcClient::build_from_shared( "https://yellowstone.helius-rpc.com", )? .x_token(Some(token))? .connect() .await?; let (_, stream) = client .subscribe_with_request(Some(req)) .await?;
use yellowstone_grpc_client::GeyserGrpcClient; let mut client = GeyserGrpcClient::build_from_shared( "https://replay.sillage.sh", )? .x_token(Some(token))? .connect() .await?; let (_, stream) = client .subscribe_with_request(Some(req.from_slot(312_840_000))) .await?;
use yellowstone_grpc_client::GeyserGrpcClient; let mut client = GeyserGrpcClient::build_from_shared( "https://replay.sillage.sh", )? .x_token(Some(token))? .connect() .await?; let (_, stream) = client .subscribe_with_request(Some(req.from_slot(312_840_000))) .await?;
Фильтры Yellowstone на основе pubkey работают без изменений — сужайте транзакции по конкретным программам или аккаунтам, сужайте потоки аккаунтов по конкретным владельцам.
let req = SubscribeRequest { transactions: hashmap! { "swaps".to_owned() => SubscribeRequestFilterTransactions { vote: Some(false), failed: Some(false), account_include: vec![JUPITER_V6.into()], ..Default::default() }, }, accounts: hashmap! { "pools".to_owned() => SubscribeRequestFilterAccounts { owner: vec![RAYDIUM_AMM.into()], ..Default::default() }, }, ..Default::default() };
Каждое сообщение несёт метку времени получения с точностью до 100 микросекунд. Транзакция, попавшая в слот на 24,3 мс, реплеится тоже на 24,3 мс. Внутрислотовый порядок, задержки распространения, текстура реального сетевого времени — всё сохраняется.
Каждое сообщение, которое получает ваша live-подписка, сохраняется непрерывно на протяжении всего 24-часового окна. Без сэмплинга. Без сводок. Без преобразования схем.
От текущей вершины цепочки назад. Непрерывное, не календарная ротация.
Сообщения уровня Processed не хранятся — слишком эфемерны, чтобы быть полезными при реплее.
Roaring bitmap индексы по программам, аккаунтам и подписям, разрешаются до обращения к байтам сообщений.
Range-fetchable из персистентного хранилища. Отфильтрованный реплей читает только подходящие байты.
Другие провайдеры прекрасно стримят живую цепочку. sillage.sh даёт инверсию: 24 часа истории, тот же протокол, оплата за каждый реплей.
| sillage.sh | Helius LaserStream | Triton Fumarole | QuickNode | |
|---|---|---|---|---|
| Окно реплея | 24 часа | 24 часа | 4 дня | ~20 мин |
| Цена | За реплей | $999/мес тариф* | $0,08/ГБ + тариф | Enterprise |
| Протокол | Yellowstone gRPC | Yellowstone gRPC | Yellowstone gRPC | Yellowstone gRPC |
| Точность меток времени | Каждое сообщение | Уровень слота | Уровень слота | — |
Реплей вчерашней цепочки через вашу стратегию. Настраивайте PnL без расхода стриминговой подписки.
Подробнее о бэктестинге SolanaБэкфилл нового индекса с любого слота за последние 24 часа. Без ресинка из снапшота.
Запросы к историческим паттернам потока. Тот же протокол Yellowstone, оплата только за чтение.
Реплей окна до реорга для проверки состояния — не нужно хранить сырую историю самостоятельно.
Первая когорта стартует с 24-часовым реплеем потоков транзакций, аккаунтов и блоков. Приоритет — разработчикам ботов, индексеров и исследователям.