Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/astralane/ping-things-rs

A small benchmarking tool for solana tx sends
https://github.com/astralane/ping-things-rs

Last synced: 24 days ago
JSON representation

A small benchmarking tool for solana tx sends

Awesome Lists containing this project

README

        

# ping-things-rs
A small benchmarking tool for Solana transaction sends.

## What it is
`ping-things-rs` is a small benchmarking tool based on [ping-thing-client](https://github.com/Block-Logic/ping-thing-client), designed for sending
transactions on the Solana blockchain. It helps users evaluate the performance
and throughput of rpc providers sends by sending similar transactions to multiple
rpcs at the same time as provided in `config.yaml`

## How to Run
### Clone the repository:
```
git clone https://github.com/Astralane/ping-things-rs.git
cd ping-things-rs
```

### Build the project:
```
RUST_LOG=info cargo build --release
```
### Run the benchmark:
```
./target/release/ping-things-rs
```

## How to Configure
The configuration is managed via a config.yaml file. Below is an example of what this file looks like:

```yaml
rpc :
"solana-public" :
url: "https://api.mainnet-beta.solana.com"
rpc_type: "solanarpc"

txns_per_run: 2
txn_delay: 2
runs: 2
http_rpc: "http://api.mainnet-beta.solana.com"
ws_rpc: "wss://api.mainnet-beta.solana.com"
keypair_dir: "/Users//.config/solana/id.json"
compute_unit_price: 0
compute_unit_limit: 450
verbose_log: false
tip: 1000000
```
### Configuration Options
- rpc: RPC endpoints for the Solana cluster.
- url: endpoint for the rpc
- rpc_type: type of endpoint can be one of: `"solanarpc", "jito", "blockxroute"`
- auth: auth header for for sending transaction, used in "blockxroute"
- txns_per_run: Number of transactions per run.
- txn_delay: Delay between transactions in seconds.
- runs: Number of runs to execute.
- http_rpc: RPC endpoint used for reading on chain data, eg: recent_blockhash
- ws_rpc: RPC endpoint for subscribing to transaction updates
- keypair_dir: Path to the keypair file.
- compute_unit_price: Price per compute unit.
- compute_unit_limit: Limit of compute units.
- verbose_log: Enable verbose logging.
- tip: attach tips for jito and blockxroute transactions