A mobile application for exploring the Solana blockchain, monitoring validators, and managing your Solana wallet.
OpenSVM Mobile is a comprehensive mobile application built with Expo and React Native that provides tools for interacting with the Solana blockchain. The application offers real-time monitoring of validator performance, blockchain exploration, wallet management, and an AI assistant for Solana-related queries.
- Search for transactions, blocks, and accounts
- View network statistics and metrics
- Monitor recent blocks and transactions
- Track validator performance metrics (TPS, latency, skip rate)
- View global validator distribution
- Analyze validator resources (CPU, memory, disk, bandwidth)
- Compare top validators
- Connect your Solana wallet
- View your assets and transactions
- Copy wallet address for transactions
- Get help with Solana-related queries
- Learn about blockchain concepts
- Receive guidance on using the application
- Interactive simulation of the market-based emission mechanism
- Staking calculator to estimate rewards
- Discussion thread for community feedback
- Node.js (v16 or higher)
- Expo CLI
- Yarn or npm
- Clone the repository
git clone https://github.com/openSVM/opensvm-mobile.git
cd opensvm-mobile- Navigate to the React Native project
cd opensvm-reactnative- Install dependencies
yarn install
# or
npm install- Start the development server
yarn start
# or
npm start- Run on your device or emulator
- Scan the QR code with the Expo Go app (Android) or Camera app (iOS)
- Press 'a' to run on Android emulator
- Press 'i' to run on iOS simulator
- Press 'w' to run in web browser
- Rust (stable channel)
- Cargo
- Dioxus CLI
- Clone the repository (if not already done)
git clone https://github.com/openSVM/opensvm-mobile.git
cd opensvm-mobile- Navigate to the Dioxus project
cd opensvm-dioxus- Install Rust (if not already installed)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh- Add WASM target
rustup target add wasm32-unknown-unknown- Install Dioxus CLI
cargo install dioxus-cli- Start the development server
# For web development
dioxus serve --platform web
# For desktop development
dioxus serve --platform desktop
# For Android development
dioxus serve --platform androidThe CI/CD pipeline automatically builds and releases the application for all platforms when a new tag is pushed. However, you can also build manually:
dioxus build --features web --profile wasm-release --platform web --release# macOS/Linux
RUSTFLAGS="-C target-cpu=native" dioxus build --features desktop --profile desktop-release --platform desktop --release
# Windows (PowerShell)
$env:RUSTFLAGS="-C target-cpu=native"
dioxus build --features desktop --profile desktop-release --platform desktop --releasedioxus build --features android --platform android --profile android-releaseThis repository contains two main projects:
opensvm-reactnative/
├── app/ # Main application screens and navigation
│ ├── (tabs)/ # Tab-based navigation screens
│ ├── account/ # Account-related screens
│ └── transaction/ # Transaction-related screens
├── assets/ # Static assets (images, fonts)
├── components/ # Reusable UI components
│ └── charts/ # Chart and visualization components
├── constants/ # App constants (colors, typography)
├── hooks/ # Custom React hooks
├── mocks/ # Mock data for development
├── stores/ # State management (Zustand)
├── types/ # TypeScript type definitions
└── utils/ # Utility functions
opensvm-dioxus/
├── src/ # Source code directory
│ ├── app.rs # Main application component
│ ├── main.rs # Entry point with platform-specific configurations
│ ├── assets/ # Static assets
│ ├── components/ # Reusable UI components
│ ├── constants/ # App-wide constants
│ ├── routes/ # Application routes
│ ├── stores/ # State management
│ └── utils/ # Utility functions
└── Cargo.toml # Project dependencies and configuration
- Framework: Expo & React Native
- Navigation: Expo Router
- State Management: Zustand
- UI Components: Lucide React Native
- Storage: AsyncStorage
- Charts: Custom chart components
- Framework: Dioxus (Rust-based UI framework)
- State Management: Dioxus Signals
- Router: Dioxus Router
- Platforms: Web (WASM), Desktop (Windows, macOS, Linux), Android
- GitHub Actions: Automated build, test, and release pipeline
- Cross-Platform Builds: Web, Desktop (Windows, macOS, Linux), Android
- Release Automation: Automatic GitHub releases and Homebrew formula updates
This repository uses GitHub Actions to automate the build, test, and release process for the OpenSVM-Dioxus project.
The CI/CD pipeline is defined in .github/workflows/ci.yml and includes the following jobs:
- Build & Test: Compiles and tests the application for all supported platforms
- Release: Creates platform-specific binaries and publishes them as GitHub releases
- Homebrew Formula: Updates the Homebrew formula for macOS users
- Android Build: Builds and optimizes the Android APK
The workflow uses the following GitHub Actions:
actions/checkout@v4: Checks out the repositoryactions/setup-java@v4: Sets up JDK for Android buildsactions/cache@v4: Caches Cargo dependencies for faster buildsactions/upload-artifact@v4: Uploads build artifactsactions/download-artifact@v4: Downloads artifacts for releasesactions-rs/toolchain@v1: Sets up Rust toolchainactions-rs/cargo@v1: Runs Cargo commandssoftprops/action-gh-release@v1: Creates GitHub releasesandroid-actions/setup-android@v2: Sets up Android SDK
To create a new release:
-
Create and push a new tag following semantic versioning:
git tag v1.0.0 git push origin v1.0.0
-
The workflow will automatically:
- Build all platform versions
- Create a GitHub release with all artifacts
- Update the Homebrew formula
On macOS, you can install the application using Homebrew:
# Add the tap (only needed once)
brew tap openSVM/opensvm-mobile https://github.com/openSVM/opensvm-mobile.git
# Install the application
brew install opensvm-dioxusContributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.