@armadura/sdk
v0.1.23
Published
React hooks for Solana development - MVP with essential hooks only
Maintainers
Readme
@arma/solana
The modern React SDK for Solana development - Type-safe, progressive complexity, built on Kit 2.0
📦 Installation
npm install @arma/solana
# or
yarn add @arma/solana
# or
bun add @arma/solana🚀 Import Paths & Use Cases
Arc provides different entry points optimized for specific use cases:
Default Import - Complete SDK
import { ArcProvider, useBalance, useTransaction } from '@connectorkit/solana'- Bundle Size: ~90KB
- Use When: Building full-featured Solana apps
- Includes: All hooks, providers, and utilities
/react - React Hooks Only
import { useBalance, useWallet } from '@connectorkit/solana/react'- Bundle Size: ~70KB
- Use When: Building React apps with Solana
- Includes: All React hooks and providers
/core - Minimal Bundle
import { useBalance, useTransferSOL } from '@connectorkit/solana/core'- Bundle Size: ~15KB
- Use When: You need only essential hooks
- Includes: Core hooks only (wallet, balance, transfer)
/client - Backend/Server API
import { createArc, createEnterpriseArc } from '@connectorkit/solana/client'- Bundle Size: ~30KB
- Use When: Building backend services, bots, or scripts
- Includes: Non-React client API
/experimental - Advanced Features
import { VersionedTransactionManager } from '@connectorkit/solana/experimental'- Bundle Size: ~40KB
- Use When: You need cutting-edge features
- Includes: V0 transactions, MEV protection, priority fees
📚 Progressive Complexity Levels
Level 1: Simple Functions (No React)
import { getBalance, transferSOL, requestAirdrop } from '@connectorkit/solana'
// Just works™ - no setup required
const balance = await getBalance('8rUupu3N3VV...')
const sig = await transferSOL(from, to, 0.1)Level 2: React Hooks (Declarative)
import { ArcProvider, useBalance, useWallet } from '@connectorkit/solana'
function App() {
return (
<ArcProvider config={{ network: 'devnet' }}>
<WalletComponent />
</ArcProvider>
)
}
function WalletComponent() {
const { wallet, connect } = useWallet()
const { balance } = useBalance()
return <div>Balance: {balance} SOL</div>
}Level 3: Advanced Features (Power Users)
import { useProgramAccount } from '@connectorkit/solana'
// Custom codec for any program
const { data } = useProgramAccount({
address: programId,
codec: async (rpc, address) => {
// Custom parsing logic
return parsedData
}
})🏗️ Architecture
@arc/solana/
├── / # Default export - Complete SDK
├── /react # React-specific hooks and providers
├── /core # Minimal bundle - Essential hooks only
├── /client # Backend/server API (no React)
└── /experimental # Advanced features (V0 tx, MEV, etc)🔧 Key Features
- 🎯 Progressive Complexity: Simple → React Hooks → Advanced
- 📦 Optimized Bundles: Import only what you need
- 🔒 Type Safety: Built on Solana Kit 2.0
- ⚡ Performance: React Query caching, optimized re-renders
- 🌐 Context-Based: No prop drilling, automatic coordination
- 🚀 Modern Standards: Wallet Standard, Kit 2.0 compatible
📖 Documentation
Full documentation available at arma-docs.vercel.app
🤝 Extension Packages
Arc is designed to be extended. See these examples:
- @arc/jupiter - Jupiter DEX integration example
- @arc/ui-primitives - UI component library example
📝 License
MIT
