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

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

About

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

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  

Languages