solana-cli-wallet
v0.0.1
Published
A Solana CLI wallet SDK
Readme
Solana CLI Wallet
A user-friendly CLI tool for managing Solana wallets and tokens on Solana's devnet. Built with TypeScript and Commander.js.
Features
- 🔑 Create and manage Solana wallets (securely stored locally)
- 💰 Check SOL balances with real-time updates
- 💸 Send SOL between wallets
- 🪙 Create new SPL tokens with custom decimals
- 🏦 Mint tokens to any address
- 📤 Transfer SPL tokens between wallets
- 🔍 Explorer links for all transactions
Installation
# Using npm
npm install solana-cli-wallet
# Using yarn
yarn add solana-cli-wallet
# Using bun
bun add solana-cli-walletUsage Guide
Create a New Wallet
Creates and stores a new Solana keypair securely in the .wallets directory.
bun run wallet create
# Output:
# 🔄 Generating new wallet...
# ✨ Wallet created successfully!
#
# Wallet Details:
# Public Key: ABC123...XYZ
#
# Keep your private key safe!View Wallet Address
Retrieves the public address of your stored wallet.
bun run wallet address
# Output:
# 🔍 Retrieving wallet address...
# ✨ Wallet Found!
#
# Wallet Details:
# Address: ABC123...XYZ
# Explorer: https://explorer.solana.com/address/ABC123...XYZ?cluster=devnetCheck Wallet Balance
Get the SOL balance for any wallet address.
bun run wallet balance <address>
# Output:
# 💰 Fetching balance...
# ✨ Balance Retrieved Successfully!
#
# Wallet Details:
# Address: ABC123...XYZ
# Balance: 1.5 SOL
# Explorer: https://explorer.solana.com/address/ABC123...XYZ?cluster=devnetSend SOL
Transfer SOL from your wallet to another address.
bun run wallet sendSOL <from> <to> <amount>
# Output:
# 💸 Initiating SOL transfer...
# ✨ Transfer Successful!
#
# Transaction Details:
# Amount: 1.5 SOL
# From: ABC123...XYZ
# To: DEF456...UVW
# Explorer: https://explorer.solana.com/tx/GHI789...?cluster=devnetCreate SPL Token
Create a new SPL token with optional immediate minting.
# Create token with 9 decimals
bun run wallet create-token 9
# Create and mint 1000 tokens
bun run wallet create-token 9 --mint 1000
# Create, mint, and send to specific address
bun run wallet create-token 9 --mint 1000 -r <recipient>
# Output:
# ✨ Token Created Successfully!
#
# Token Details:
# Mint Address: ABC123...XYZ
# Decimals: 9
# Mint Authority: DEF456...UVW
# Freeze Authority: DEF456...UVW
# Explorer: https://explorer.solana.com/address/ABC123...XYZ?cluster=devnetSend SPL Tokens
Transfer SPL tokens between wallets.
bun run wallet sendSPL <tokenMint> <from> <to> <amount>
# Output:
# 🪙 Initiating SPL token transfer...
# ✨ Token Transfer Successful!
#
# Transfer Details:
# Amount: 100 tokens
# From: ABC123...XYZ
# To: DEF456...UVW
# Token: GHI789...JKL
# From Account: MNO123...PQR
# To Account: STU456...VWX
# Explorer: https://explorer.solana.com/tx/YZA789...?cluster=devnetProgrammatic Usage
You can also use the wallet functions in your TypeScript/JavaScript projects:
import { Keypair } from '@solana/web3.js';
import { sendSOL, createToken, mintTokens, sendSPL } from 'solana-cli-wallet';
// Send SOL
const signature = await sendSOL({
from: senderAddress,
to: recipientAddress,
amount: 1.5,
keypair: senderKeypair
});
// Create new token
const mintAddress = await createToken({
decimals: 9,
keypair: ownerKeypair
});
// Mint tokens
await mintTokens({
mintAddress,
amount: 1000,
decimals: 9,
recipientAddress: "optional-recipient",
keypair: ownerKeypair
});
// Send SPL tokens
await sendSPL({
tokenMint: mintAddress,
from: senderAddress,
to: recipientAddress,
amount: 100,
keypair: senderKeypair
});Security Notes
- 🔒 Keypairs are stored securely in the local
.walletsdirectory - ⚠️ Never share or commit your private keys
- 🌐 All transactions are on Solana's devnet
- 💡 Always verify addresses and amounts before confirming transactions
Development
# Clone the repository
git clone https://github.com/yourusername/solana-cli-wallet.git
# Install dependencies
bun install
# Build
bun run build
# Run CLI
bun run wallet <command>