{"id":30495442,"url":"https://github.com/rpcpool/yellowstone-thorofare","last_synced_at":"2026-03-09T00:33:02.585Z","repository":{"id":299665019,"uuid":"1000391421","full_name":"rpcpool/yellowstone-thorofare","owner":"rpcpool","description":"Benchmark tool for Solana Geyser gRPC endpoints. Measures slot propagation and account update delays between endpoints.","archived":false,"fork":false,"pushed_at":"2025-12-03T09:19:30.000Z","size":135,"stargazers_count":12,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-05T11:24:23.679Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rpcpool.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-11T17:52:56.000Z","updated_at":"2025-12-03T09:19:34.000Z","dependencies_parsed_at":"2025-08-25T00:23:05.515Z","dependency_job_id":"2111c79e-950d-493f-968b-638d35d70a98","html_url":"https://github.com/rpcpool/yellowstone-thorofare","commit_stats":null,"previous_names":["rpcpool/yellowstone-grpc-bench","rpcpool/yellowstone-thorofare"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/rpcpool/yellowstone-thorofare","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpcpool%2Fyellowstone-thorofare","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpcpool%2Fyellowstone-thorofare/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpcpool%2Fyellowstone-thorofare/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpcpool%2Fyellowstone-thorofare/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rpcpool","download_url":"https://codeload.github.com/rpcpool/yellowstone-thorofare/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpcpool%2Fyellowstone-thorofare/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30278543,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-08T20:45:49.896Z","status":"ssl_error","status_checked_at":"2026-03-08T20:45:49.525Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-08-25T00:21:06.926Z","updated_at":"2026-03-09T00:33:02.576Z","avatar_url":"https://github.com/rpcpool.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Yellowstone Thorofare\n\nBenchmarking tool for Solana Geyser gRPC endpoints. Compares two endpoints simultaneously to measure actual performance differences.\n\n## Build\n```bash\ncargo build --release\n```\n\n## What it measures\n\n- All 6 slot stages: FirstShredReceived, CreatedBank, Completed, Processed, Confirmed, Finalized\n- Download time (FirstShredReceived \u003e Completed)\n- Replay time (CreatedBank \u003e Processed)\n- Account update propagation delays (optional)\n\n## Basic usage\n```bash\nthorofare --endpoint1 endpoint1.com:10000 --endpoint2 endpoint2.com:10000\n```\n\n## Arguments\n\nRequired:\n- `--endpoint1` - First endpoint (host:port)\n- `--endpoint2` - Second endpoint (host:port)\n\nOptional:\n- `--x-token1` - Auth token for endpoint1\n- `--x-token2` - Auth token for endpoint2\n- `--slots` - Number of slots to collect (default: 1000)\n- `--with-accounts` - Track account updates\n- `--account-owner` - Filter by program ID (requires --with-accounts) (default: Raydium AMM V4)\n- `--config` - Config file (default: config.toml)\n- `--output` - Output file (default: benchmark_results.json)\n\n## Examples\n\nWith auth tokens:\n```bash\nthorofare \\\n  --endpoint1 endpoint1.com:10000 \\\n  --endpoint2 endpoint2.com:10000 \\\n  --x-token1 YOUR_TOKEN_1 \\\n  --x-token2 YOUR_TOKEN_2\n```\n\nTrack Raydium account updates:\n```bash\nthorofare \\\n  --endpoint1 endpoint1.com:10000 \\\n  --endpoint2 endpoint2.com:10000 \\\n  --with-accounts \\\n  --account-owner 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8\n```\n\n## Output\n\nGenerates JSON with:\n- Slot timing comparisons\n- P50/P90/P99 percentiles\n- Account update delays (if enabled)\n- Ping latencies\n\nYou can visualize here https://thorofare.triton.one/\n\n## Config\n\nSee config.toml for gRPC tuning options. Most important:\n- `tcp_nodelay = true` for low latency\n- `initial_connection_window_size` for heavy subscriptions\n- `initial_connection_window_size` for heavy subscriptions\n(Recommend reading: https://httpwg.org/specs/rfc9113.html#rfc.section.6.9.1, for window size)\n\n## Contributing\n\nPRs welcome. Keep it simple:\n1. Fork and create a branch\n2. Make your changes\n3. Test against at least 2 different endpoints\n4. Submit PR :D\n\n## Related\n\n- UI Repo: https://github.com/rpcpool/yellowstone-thorofare-ui\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frpcpool%2Fyellowstone-thorofare","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frpcpool%2Fyellowstone-thorofare","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frpcpool%2Fyellowstone-thorofare/lists"}