2025-12-26 12:23:52 +08:00
|
|
|
# libsam
|
|
|
|
|
|
|
|
|
|
## Install
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
go get github.com/samlior/libsam
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Shreder
|
|
|
|
|
|
|
|
|
|
### Endpoint
|
|
|
|
|
|
|
|
|
|
| region | shreder url |
|
|
|
|
|
| :----- | :-------------------- |
|
|
|
|
|
| fra | fra1.shreder.xyz:9991 |
|
|
|
|
|
| ams | ams1.shreder.xyz:9991 |
|
|
|
|
|
| ewr | ny1.shreder.xyz:9991 |
|
|
|
|
|
|
|
|
|
|
### Usage
|
|
|
|
|
|
|
|
|
|
See [example](./cmd/shreder/main.go).
|
|
|
|
|
|
2025-12-26 12:25:47 +08:00
|
|
|
## SWQoS Client
|
2025-12-26 12:23:52 +08:00
|
|
|
|
|
|
|
|
### Recommended configuration
|
|
|
|
|
|
|
|
|
|
<details><summary> Frankfurt </summary>
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"name": "helius",
|
|
|
|
|
"sendTxUrl": "http://fra-sender.helius-rpc.com/fast",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"keepAliveUrl": "http://fra-sender.helius-rpc.com/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "0slot",
|
|
|
|
|
"sendTxUrl": "http://de2.0slot.trade?api-key=3fec78a0d361418a8eff95be9ed85cc3&anti-mev=true",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"keepAliveUrl": "http://de2.0slot.trade/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "blockrazor",
|
|
|
|
|
"sendTxUrl": "frankfurt.solana-grpc.blockrazor.xyz:80",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "node1",
|
|
|
|
|
"sendTxUrl": "http://fra.node1.me",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"keepAliveUrl": "http://fra.node1.me/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "nextblock",
|
|
|
|
|
"sendTxUrl": "http://frankfurt.nextblock.io/api/v2/submit",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"keepAliveUrl": "http://frankfurt.nextblock.io/api/v2/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 4
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "flashBlock",
|
|
|
|
|
"sendTxUrl": "http://fra.flashblock.trade/api/v2/submit-batch",
|
|
|
|
|
"sendBundleUrl": "http://fra.flashblock.trade/api/v2/submit-batch",
|
|
|
|
|
"keepAliveUrl": "http://fra.flashblock.trade/api/v2/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "astralane",
|
|
|
|
|
"sendTxUrl": "http://fr.gateway.astralane.io/iris?api-key=zhaozNc5OIadLPI3r9nUVVPpCZcQAUjngO6Tgr5XUJcmBrIisFaaZF81Ijn01Ytn",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"keepAliveUrl": "http://fr.gateway.astralane.io/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "nozomi",
|
|
|
|
|
"sendTxUrl": "http://fra2.nozomi.temporal.xyz/?c=34cff37e-f1a5-446a-98bb-66aa1b62cb74",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"keepAliveUrl": "http://fra2.nozomi.temporal.xyz/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "stellium",
|
|
|
|
|
"sendTxUrl": "http://fra1.flashrpc.com/be95e80d-afc2-4a48-b017-db021fc4c19e",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"keepAliveUrl": "http://fra1.flashrpc.com/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "blocxroute",
|
|
|
|
|
"sendTxUrl": "http://germany.solana.dex.blxrbdn.com/api/v2/submit",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"keepAliveUrl": "http://germany.solana.dex.blxrbdn.com/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
</details>
|
|
|
|
|
|
|
|
|
|
<details><summary> Amsterdam </summary>
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"name": "helius",
|
|
|
|
|
"sendTxUrl": "http://ams-sender.helius-rpc.com/fast",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"keepAliveUrl": "http://ams-sender.helius-rpc.com/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "0slot",
|
|
|
|
|
"sendTxUrl": "http://ams1.0slot.trade?api-key=3fec78a0d361418a8eff95be9ed85cc3&anti-mev=true",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"keepAliveUrl": "http://ams1.0slot.trade/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "blockrazor",
|
|
|
|
|
"sendTxUrl": "amsterdam.solana-grpc.blockrazor.xyz:80",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "node1",
|
|
|
|
|
"sendTxUrl": "http://ams.node1.me",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"keepAliveUrl": "http://ams.node1.me/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "nextblock",
|
|
|
|
|
"sendTxUrl": "http://amsterdam.nextblock.io/api/v2/submit",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"keepAliveUrl": "http://amsterdam.nextblock.io/api/v2/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 4
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "flashBlock",
|
|
|
|
|
"sendTxUrl": "http://ams.flashblock.trade/api/v2/submit-batch",
|
|
|
|
|
"sendBundleUrl": "http://ams.flashblock.trade/api/v2/submit-batch",
|
|
|
|
|
"keepAliveUrl": "http://ams.flashblock.trade/api/v2/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "astralane",
|
|
|
|
|
"sendTxUrl": "http://ams.gateway.astralane.io/iris?api-key=zhaozNc5OIadLPI3r9nUVVPpCZcQAUjngO6Tgr5XUJcmBrIisFaaZF81Ijn01Ytn",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"keepAliveUrl": "http://ams.gateway.astralane.io/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "nozomi",
|
|
|
|
|
"sendTxUrl": "http://ams1.nozomi.temporal.xyz/?c=34cff37e-f1a5-446a-98bb-66aa1b62cb74",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"keepAliveUrl": "http://ams1.nozomi.temporal.xyz/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "stellium",
|
|
|
|
|
"sendTxUrl": "http://ams1.flashrpc.com/be95e80d-afc2-4a48-b017-db021fc4c19e",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"keepAliveUrl": "http://ams1.flashrpc.com/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "blocxroute",
|
|
|
|
|
"sendTxUrl": "http://amsterdam.solana.dex.blxrbdn.com/api/v2/submit",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"keepAliveUrl": "http://amsterdam.solana.dex.blxrbdn.com/api/v2/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
</details>
|
|
|
|
|
|
|
|
|
|
<details><summary> Newark </summary>
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"name": "helius",
|
|
|
|
|
"sendTxUrl": "http://ewr-sender.helius-rpc.com/fast",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"keepAliveUrl": "http://ewr-sender.helius-rpc.com/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "0slot",
|
|
|
|
|
"sendTxUrl": "http://ny1.0slot.trade?api-key=3fec78a0d361418a8eff95be9ed85cc3&anti-mev=true",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"keepAliveUrl": "http://ny1.0slot.trade/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "blockrazor",
|
|
|
|
|
"sendTxUrl": "newyork.solana-grpc.blockrazor.xyz:80",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "node1",
|
|
|
|
|
"sendTxUrl": "http://ny.node1.me",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"keepAliveUrl": "http://ny.node1.me/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "nextblock",
|
|
|
|
|
"sendTxUrl": "http://ny.nextblock.io/api/v2/submit",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"keepAliveUrl": "http://ny.nextblock.io/api/v2/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "flashBlock",
|
|
|
|
|
"sendTxUrl": "http://ny.flashblock.trade/api/v2/submit-batch",
|
|
|
|
|
"sendBundleUrl": "http://ny.flashblock.trade/api/v2/submit-batch",
|
|
|
|
|
"keepAliveUrl": "http://ny.flashblock.trade/api/v2/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "astralane",
|
|
|
|
|
"sendTxUrl": "http://ny.gateway.astralane.io/iris?api-key=zhaozNc5OIadLPI3r9nUVVPpCZcQAUjngO6Tgr5XUJcmBrIisFaaZF81Ijn01Ytn",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"keepAliveUrl": "http://ny.gateway.astralane.io/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "nozomi",
|
|
|
|
|
"sendTxUrl": "http://ewr1.nozomi.temporal.xyz/?c=34cff37e-f1a5-446a-98bb-66aa1b62cb74",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"keepAliveUrl": "http://ewr1.nozomi.temporal.xyz/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "stellium",
|
|
|
|
|
"sendTxUrl": "http://ewr1.flashrpc.com/be95e80d-afc2-4a48-b017-db021fc4c19e",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"keepAliveUrl": "http://ewr1.flashrpc.com/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "blocxroute",
|
|
|
|
|
"sendTxUrl": "http://ny.solana.dex.blxrbdn.com/api/v2/submit",
|
|
|
|
|
"sendBundleUrl": "",
|
|
|
|
|
"keepAliveUrl": "http://ny.solana.dex.blxrbdn.com/api/v2/ping",
|
|
|
|
|
"tips": "0.001",
|
|
|
|
|
"rateLimit": 0
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
</details>
|
|
|
|
|
|
|
|
|
|
### Usage
|
|
|
|
|
|
|
|
|
|
See [example](./cmd/send_tx/main.go).
|