Skip to content

Solana QUIC transaction sender, with built in proxy and SwQoS support.

License

Notifications You must be signed in to change notification settings

rpcpool/yellowstone-jet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b93d927 · Apr 2, 2025

History

23 Commits
Mar 7, 2025
Mar 5, 2025
Apr 2, 2025
Apr 2, 2025
Jan 21, 2025
Jan 21, 2025
Mar 17, 2025
Apr 2, 2025
Apr 2, 2025
Jan 22, 2025
Jan 22, 2025
Jan 21, 2025
Apr 2, 2025
Mar 12, 2025
Jan 21, 2025
Jan 21, 2025

Repository files navigation

Yellowstone Jet

External Solana transaction sender implementation.

Implements the Solana QUIC protocol for sending transactions.

Features:

  • Efficient transaction sending, implementing the Solana TPU client in proxy format
  • Detailed configuration of all QUIC related parameters
  • Solana JSONRPC support, with an rpc server that supports sendTransaction
  • Full support for SwQoS
  • Simulation and transaction sanitization support via external RPC
  • Prometheus metrics
  • Dynamic key loading via getIdentity/setIdentity
  • Support for blocklists to block forwarding to specific leaders
  • Support for connecting to Triton's Cascade delivery network

Building

cargo build --release

Usage

yellowstone-jet --config yellowstone.yaml

Config file

A sample configuration file can be found config.yml

Systemd

Running Jet as a service under SystemD is our recommended approach. A sample systemd file:

[Unit]
Description=Yellowstone Jet transaction forwarder
After=network-online.target
StartLimitInterval=0
StartLimitIntervalSec=0

[Service]
Type=simple
User=yellowstone-jet
Group=yellowstone-jet
PermissionsStartOnly=true
ExecStart=/usr/local/bin/yellowstone-jet --config /etc/yellowstone-jet.yml

Environment=RUST_LOG="warn"

SyslogIdentifier=yellowstone-jet
KillMode=process
Restart=always
RestartSec=5

LimitNOFILE=700000
LimitNPROC=700000

LockPersonality=true
NoNewPrivileges=true
PrivateTmp=true
ProtectHome=true
RemoveIPC=true
RestrictSUIDSGID=true

ProtectSystem=full

[Install]
WantedBy=multi-user.target

Attribution

Created by the greybeards at Triton One

Copyright (C) 2024 Triton One Ltd