A modern web application for exploring the Solana blockchain.
- Real-time transaction monitoring
- Account details and token balances
- Transaction history and analysis
- Modern UI with theme support
- Error handling and recovery
This project uses Zustand for state management. The state is divided into three main slices:
- Transaction Store: Manages transaction-related state and actions
- Account Store: Handles account details and token balances
- UI Store: Controls UI state and theme preferences
For detailed documentation on state management, see docs/state-management.md.
- Type-safe state management
- Performance-optimized selectors
- Batch processing for transactions
- Error boundaries for graceful error handling
- Theme support with persistence
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open http://localhost:3000 in your browser.
When working with state:
- Use the appropriate store slice for your needs
- Follow the TypeScript interfaces
- Use memoized selectors for performance
- Implement error boundaries where needed
Example:
import { useAccountData, useUIState } from '@/store';
function MyComponent() {
const { publicKey, solBalance } = useAccountData();
const { theme } = useUIState();
// ...
}Use the error boundary component for graceful error handling:
import ErrorBoundary from '@/components/ErrorBoundary';
function App() {
return (
<ErrorBoundary>
<YourApp />
</ErrorBoundary>
);
}- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License.