qg5 / go-solana-tpu

A simple and efficient TPU (Transaction Processing Unit) client for Solana, utilizing the QUIC protocol for data transmission.
MIT License
4 stars 1 forks source link
arbitrage golang mev rpc solana solana-client solana-sdk tpu

Solana TPU Client

A simple and efficient TPU (Transaction Processing Unit) client for Solana, utilizing the QUIC protocol for data transmission

This is designed to send a transaction directly to the current leader(s) instead of using RPC, thereby broadcasting the transaction more quickly

Go Reference

Lifecycle of a transaction in Solana (RPC and TPU)

tx lifecycle

Usage

go get -u github.com/qg5/go-solana-tpu/tpu

Browse the examples folder to see how you can use this package

Considerations

  1. Frequent Updates: The package is stable and functional, but it's still under active development. Expect frequent updates as new features are added and improvements are made
  2. TPU and Transaction speed: Using TPU while still mishandling fees will not get your transaction included in the block faster
  3. Signing: Transactions sent using this package MUST be signed, we don't sign them for you
  4. LiteRPC: It's not recommended to use this in your programs since it's specifically designed for this package, it collects just the right amount of data that it needs

Alternatives