Files
solana-agent-kit/README.md
2024-11-18 00:00:35 +07:00

138 lines
3.1 KiB
Markdown

# Solana Agent Kit
A powerful toolkit for interacting with the Solana blockchain, providing easy-to-use functions for token operations, NFT management, and trading. Now integrated with LangChain for enhanced functionality.
## Features
- 🪙 Token Operations
- Deploy new SPL tokens
- Transfer SOL and SPL tokens
- Check token balances
- 🖼️ NFT Management
- Deploy NFT collections
- Mint NFTs to collections
- Manage metadata and royalties
- 💱 Trading
- Integrated Jupiter Exchange support
- Token swaps with customizable slippage
- Direct routing options
- 🔗 LangChain Integration
- Utilize LangChain tools for enhanced blockchain interactions
- Access a suite of tools for balance checks, transfers, token deployments, and more
## Installation
```bash
npm install solana-agent-kit
```
## Quick Start
```typescript
import { SolanaAgentKit, createSolanaTools } from 'solana-agent-kit';
// Initialize with private key and optional RPC URL
const agent = new SolanaAgentKit(
'your-private-key',
'https://api.mainnet-beta.solana.com'
);
// Create LangChain tools
const tools = createSolanaTools(agent);
```
## Usage Examples
### Deploy a New Token
```typescript
import { deploy_token } from 'solana-agent-kit';
const result = await deploy_token(
agent,
9, // decimals
1000000 // initial supply
);
console.log('Token Mint Address:', result.mint.toString());
```
### Create NFT Collection
```typescript
import { deploy_collection } from 'solana-agent-kit';
const collection = await deploy_collection(agent, {
name: "My NFT Collection",
uri: "https://arweave.net/metadata.json",
royaltyBasisPoints: 500, // 5%
creators: [
{
address: "creator-wallet-address",
percentage: 100
}
]
});
```
### Swap Tokens
```typescript
import { trade } from 'solana-agent-kit';
import { PublicKey } from '@solana/web3.js';
const signature = await trade(
agent,
new PublicKey('target-token-mint'),
100, // amount
new PublicKey('source-token-mint'),
300 // 3% slippage
);
```
## API Reference
### Core Functions
#### `deploy_token(agent, decimals?, initialSupply?)`
Deploy a new SPL token with optional initial supply.
#### `deploy_collection(agent, options)`
Create a new NFT collection with customizable metadata and royalties.
#### `mintCollectionNFT(agent, collectionMint, metadata, recipient?)`
Mint a new NFT as part of an existing collection.
#### `transfer(agent, to, amount, mint?)`
Transfer SOL or SPL tokens to a recipient.
#### `trade(agent, outputMint, inputAmount, inputMint?, slippageBps?)`
Swap tokens using Jupiter Exchange integration.
#### `get_balance(agent, token_address)`
Check SOL or token balance for the agent's wallet.
## Dependencies
The toolkit relies on several key Solana and Metaplex libraries:
- @solana/web3.js
- @solana/spl-token
- @metaplex-foundation/js
- @metaplex-foundation/mpl-token-metadata
- @metaplex-foundation/umi
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
ISC License
## Security
This toolkit handles private keys and transactions. Always ensure you're using it in a secure environment and never share your private keys.