feat: harden trading SDK examples
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
# Trading Client Construction
|
||||
|
||||
[中文](README_CN.md)
|
||||
|
||||
Shows two client-construction patterns: `TradingClient::new` for one wallet and `TradingClient::from_infrastructure` for wallets sharing RPC and SWQoS clients.
|
||||
|
||||
This is a configuration template. Set `PRIVATE_KEY`, RPC, and every enabled provider credential; it initializes network clients but does not submit a trade.
|
||||
|
||||
```bash
|
||||
cargo run --package trading_client
|
||||
```
|
||||
|
||||
Initialize the client before subscribing to events. Do not construct it in a trading callback.
|
||||
@@ -0,0 +1,13 @@
|
||||
# TradingClient 创建方式
|
||||
|
||||
[English](README.md)
|
||||
|
||||
展示两种客户端创建模式:单钱包使用 `TradingClient::new`,多钱包通过 `TradingClient::from_infrastructure` 共享 RPC 和 SWQoS 客户端。
|
||||
|
||||
这是配置模板。运行前设置 `PRIVATE_KEY`、RPC 和所有已启用服务商凭证;程序会初始化网络客户端,但不会提交交易。
|
||||
|
||||
```bash
|
||||
cargo run --package trading_client
|
||||
```
|
||||
|
||||
客户端应在事件订阅前完成初始化,不要在交易回调中创建。
|
||||
@@ -13,7 +13,6 @@ use sol_trade_sdk::{
|
||||
AstralaneTransport, TradingClient, TradingInfrastructure,
|
||||
};
|
||||
use solana_commitment_config::CommitmentConfig;
|
||||
use solana_sdk::signature::Keypair;
|
||||
use std::sync::Arc;
|
||||
|
||||
#[tokio::main]
|
||||
@@ -35,7 +34,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
///
|
||||
/// Use this when you have a single wallet or don't need to share infrastructure.
|
||||
async fn create_trading_client_simple() -> AnyResult<TradingClient> {
|
||||
let payer = Keypair::from_base58_string("use_your_payer_keypair_here");
|
||||
let payer = sol_trade_sdk::common::keypair::load_keypair_from_env("PRIVATE_KEY")?;
|
||||
let rpc_url = "https://mainnet.helius-rpc.com/?api-key=xxxxxx".to_string();
|
||||
let commitment = CommitmentConfig::processed();
|
||||
|
||||
@@ -73,7 +72,7 @@ async fn create_trading_client_simple() -> AnyResult<TradingClient> {
|
||||
/// Use this when you have multiple wallets sharing the same configuration.
|
||||
/// The infrastructure (RPC client, SWQOS clients) is created once and shared.
|
||||
async fn create_trading_client_from_infrastructure() -> AnyResult<TradingClient> {
|
||||
let payer = Keypair::from_base58_string("use_your_payer_keypair_here");
|
||||
let payer = sol_trade_sdk::common::keypair::load_keypair_from_env("PRIVATE_KEY")?;
|
||||
let rpc_url = "https://mainnet.helius-rpc.com/?api-key=xxxxxx".to_string();
|
||||
let commitment = CommitmentConfig::processed();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user