| Crates.io | solagent |
| lib.rs | solagent |
| version | 0.1.12 |
| created_at | 2025-01-03 07:26:28.200001+00 |
| updated_at | 2025-01-29 17:18:23.933317+00 |
| description | connect any ai agents to solana protocols in Rust. |
| homepage | |
| repository | https://github.com/zTgx/solagent.rs.git |
| max_upload_size | |
| id | 1502193 |
| size | 422,580 |
solagent.rs - An open-source Rust library for connecting AI agents to Solana protocols.
Basic Operations
DeFi Operations
AI Operations
Utils Operations
More...
use solagent::{create_solana_tools, Config, SolanaAgentKit};
#[tokio::main]
async fn main() {
let config = Config {
openai_api_key: Some("your_api_key".to_string()),
..Default::default()
};
let agent = SolanaAgentKit::new("private_key", "RPC_URL", config);
let toolset = create_solana_tools(agent);
}
let name = "my ai token".to_string();
let uri = "uri".to_string();
let symbol = "SOLA".to_string();
let decimals = 9;
let initial_supply = 1_000_000_000_u64;
let config = Config {
openai_api_key: Some("your_api_key".to_string()),
..Default::default()
};
let agent = SolanaAgentKit::new("private_key", "RPC_URL", config);
let mint_pubkey = agent
.deploy_token(name, uri, symbol, decimals, Some(initial_supply)).await;
println!("Token Mint Address: {:?}", mint_pubkey);
let name = "solagent Collection";
let uri = "https://uri";
let royalty_basis_points = Some(500);
let creators = vec![(Pubkey::from_str_const("pubkey"), 100)];
let options = NFTMetadata::new(name, uri, royalty_basis_points, Some(creators));
let config = Config {
openai_api_key: Some("your_api_key".to_string()),
..Default::default()
};
let agent = SolanaAgentKit::new("private_key", "RPC_URL", config);
let tx = agent.deploy_collection(options).await.unwrap();
println!("Mint: {:?}", tx.0);
let config = Config {
openai_api_key: Some("your_api_key".to_string()),
..Default::default()
};
let agent = SolanaAgentKit::new("private_key", "RPC_URL", config);
let price_feed_id = agent.fetch_pyth_price_feed_id("SOL")
.await
.expect("fetch_pyth_price_feed_id");
let price = agent.fetch_price_by_pyth(&price_feed_id)
.await
.expect("fetch_price_by_pyth");
println!("Price of SOL/USD: {}", price)
More examples can be found in the examples.
Contributions are welcome! Please feel free to submit a Pull Request.
Apache-2 License
This toolkit handles private keys and transactions. Always ensure you're using it in a secure environment and never share your private keys.
Thank you for your support of solagent.rs! Your donations will help us maintain and develop this project better.
Donation Addresses:
Solana: qsvR7V3DtbbxAEs4TkGiQL9N9Z1GccfV6Q6Vm2oHViS
Ethereum: 0x972b8d20f5847B03Df43d9A595B7e83A7bbCD951
SendAI: solscan.io
Thank you to all our generous supporters!