@wallet-abstractor/solana
v0.1.1
Published
Solana chain adapter for wallet-abstractor
Readme
@wallet-abstractor/solana
Solana adapter for Wallet Abstractor
Connect to Phantom, Solflare, and other Solana wallets with a unified API.
Installation
npm install @wallet-abstractor/core @wallet-abstractor/solanaSupported Networks
- Mainnet-Beta
- Testnet
- Devnet
- Localhost
Supported Wallets
- Phantom
- Solflare
- Any Solana-compatible wallet
Quick Start
import { createAdapter } from '@wallet-abstractor/core';
import '@wallet-abstractor/solana';
const wallet = createAdapter({
chain: 'solana',
network: 'mainnet-beta', // or 'devnet', 'testnet'
});
// Connect
const account = await wallet.connect();
console.log('Connected:', account.address);
// Get balance (in SOL)
const balance = await wallet.getBalance();
console.log(`Balance: ${balance.formatted} ${balance.symbol}`);
// Sign message
const signature = await wallet.signMessage('Hello Solana!');
// Send transaction (value in lamports, 1 SOL = 10^9 lamports)
const txHash = await wallet.sendTransaction({
to: 'HN7cABqLq46Es1jh92dQQisAq662SmxELLLsHHe4YWrH',
value: 1000000000n, // 1 SOL
});
// Switch network
await wallet.switchNetwork('devnet');Solana-Specific Features
import { SolanaAdapter } from '@wallet-abstractor/solana';
const wallet = new SolanaAdapter({
network: 'mainnet-beta',
commitment: 'confirmed',
});
// Get Solana connection for advanced operations
const connection = wallet.getConnection();
// Get current network
const network = wallet.getCurrentNetwork(); // 'mainnet-beta' | 'devnet' | 'testnet'
// Check wallet availability
import { isPhantomAvailable, isSolflareAvailable } from '@wallet-abstractor/solana';
if (isPhantomAvailable()) {
console.log('Phantom is installed');
}Utilities
import {
lamportsToSol,
solToLamports,
shortenAddress,
isValidPublicKey
} from '@wallet-abstractor/solana';
// Convert lamports to SOL string
const sol = lamportsToSol(1000000000n); // "1.0"
// Convert SOL to lamports
const lamports = solToLamports("1.5"); // 1500000000n
// Shorten address for display
const short = shortenAddress('HN7cABqLq46Es1jh92dQQisAq662SmxELLLsHHe4YWrH');
// "HN7c...YWrH"Related Packages
- @wallet-abstractor/core - Core abstraction layer
- @wallet-abstractor/evm - EVM chain adapter
License
MIT
