{"id":26426650,"url":"https://github.com/opensvm/opensvm-mobile","last_synced_at":"2025-07-11T02:34:56.945Z","repository":{"id":282691403,"uuid":"946086201","full_name":"openSVM/opensvm-mobile","owner":"openSVM","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-16T10:00:21.000Z","size":226,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-03-16T11:18:40.175Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openSVM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-10T15:32:15.000Z","updated_at":"2025-03-10T15:48:14.000Z","dependencies_parsed_at":"2025-03-16T15:47:10.738Z","dependency_job_id":null,"html_url":"https://github.com/openSVM/opensvm-mobile","commit_stats":null,"previous_names":["opensvm/opensvm-mobile"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openSVM%2Fopensvm-mobile","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openSVM%2Fopensvm-mobile/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openSVM%2Fopensvm-mobile/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openSVM%2Fopensvm-mobile/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openSVM","download_url":"https://codeload.github.com/openSVM/opensvm-mobile/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244152513,"owners_count":20406992,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-18T03:34:24.784Z","updated_at":"2025-07-11T02:34:56.937Z","avatar_url":"https://github.com/openSVM.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenSVM Mobile\n\nA mobile application for exploring the Solana blockchain, monitoring validators, and managing your Solana wallet.\n\n![OpenSVM Mobile](https://via.placeholder.com/800x400?text=OpenSVM+Mobile)\n\n[![CI/CD Pipeline](https://github.com/openSVM/opensvm-mobile/actions/workflows/ci.yml/badge.svg)](https://github.com/openSVM/opensvm-mobile/actions/workflows/ci.yml)\n\n## Overview\n\nOpenSVM 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.\n\n## Features\n\n### 🔍 Blockchain Explorer\n- Search for transactions, blocks, and accounts\n- View network statistics and metrics\n- Monitor recent blocks and transactions\n\n### 📊 Validator Monitoring\n- Track validator performance metrics (TPS, latency, skip rate)\n- View global validator distribution\n- Analyze validator resources (CPU, memory, disk, bandwidth)\n- Compare top validators\n\n### 💰 Wallet Management\n- Connect your Solana wallet\n- View your assets and transactions\n- Copy wallet address for transactions\n\n### 🤖 AI Assistant\n- Get help with Solana-related queries\n- Learn about blockchain concepts\n- Receive guidance on using the application\n\n### 📝 SIMD-0228 Proposal\n- Interactive simulation of the market-based emission mechanism\n- Staking calculator to estimate rewards\n- Discussion thread for community feedback\n\n## Getting Started\n\n### React Native Project\n\n#### Prerequisites\n- Node.js (v16 or higher)\n- Expo CLI\n- Yarn or npm\n\n#### Installation\n\n1. Clone the repository\n```bash\ngit clone https://github.com/openSVM/opensvm-mobile.git\ncd opensvm-mobile\n```\n\n2. Navigate to the React Native project\n```bash\ncd opensvm-reactnative\n```\n\n3. Install dependencies\n```bash\nyarn install\n# or\nnpm install\n```\n\n4. Start the development server\n```bash\nyarn start\n# or\nnpm start\n```\n\n5. Run on your device or emulator\n- Scan the QR code with the Expo Go app (Android) or Camera app (iOS)\n- Press 'a' to run on Android emulator\n- Press 'i' to run on iOS simulator\n- Press 'w' to run in web browser\n\n### Dioxus Project\n\n#### Prerequisites\n- Rust (stable channel)\n- Cargo\n- Dioxus CLI\n\n#### Installation\n\n1. Clone the repository (if not already done)\n```bash\ngit clone https://github.com/openSVM/opensvm-mobile.git\ncd opensvm-mobile\n```\n\n2. Navigate to the Dioxus project\n```bash\ncd opensvm-dioxus\n```\n\n3. Install Rust (if not already installed)\n```bash\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n```\n\n4. Add WASM target\n```bash\nrustup target add wasm32-unknown-unknown\n```\n\n5. Install Dioxus CLI\n```bash\ncargo install dioxus-cli\n```\n\n6. Start the development server\n```bash\n# For web development\ndioxus serve --platform web\n\n# For desktop development\ndioxus serve --platform desktop\n\n# For Android development\ndioxus serve --platform android\n```\n\n### Building for Production\n\nThe CI/CD pipeline automatically builds and releases the application for all platforms when a new tag is pushed. However, you can also build manually:\n\n#### Web (WASM)\n```bash\ndioxus build --features web --profile wasm-release --platform web --release\n```\n\n#### Desktop\n```bash\n# macOS/Linux\nRUSTFLAGS=\"-C target-cpu=native\" dioxus build --features desktop --profile desktop-release --platform desktop --release\n\n# Windows (PowerShell)\n$env:RUSTFLAGS=\"-C target-cpu=native\"\ndioxus build --features desktop --profile desktop-release --platform desktop --release\n```\n\n#### Android\n```bash\nRUSTFLAGS=\"-C opt-level=3 -C lto=thin\" dioxus build --features android --platform android --release\n```\n\n## Project Structure\n\nThis repository contains two main projects:\n\n### React Native Project\n\n```\nopensvm-reactnative/\n├── app/                    # Main application screens and navigation\n│   ├── (tabs)/             # Tab-based navigation screens\n│   ├── account/            # Account-related screens\n│   └── transaction/        # Transaction-related screens\n├── assets/                 # Static assets (images, fonts)\n├── components/             # Reusable UI components\n│   └── charts/             # Chart and visualization components\n├── constants/              # App constants (colors, typography)\n├── hooks/                  # Custom React hooks\n├── mocks/                  # Mock data for development\n├── stores/                 # State management (Zustand)\n├── types/                  # TypeScript type definitions\n└── utils/                  # Utility functions\n```\n\n### Dioxus Project\n\n```\nopensvm-dioxus/\n├── src/                    # Source code directory\n│   ├── app.rs              # Main application component\n│   ├── main.rs             # Entry point with platform-specific configurations\n│   ├── assets/             # Static assets\n│   ├── components/         # Reusable UI components\n│   ├── constants/          # App-wide constants\n│   ├── routes/             # Application routes\n│   ├── stores/             # State management\n│   └── utils/              # Utility functions\n└── Cargo.toml              # Project dependencies and configuration\n```\n\n## Technologies\n\n### React Native Project\n\n- **Framework**: [Expo](https://expo.dev/) \u0026 [React Native](https://reactnative.dev/)\n- **Navigation**: [Expo Router](https://docs.expo.dev/routing/introduction/)\n- **State Management**: [Zustand](https://github.com/pmndrs/zustand)\n- **UI Components**: [Lucide React Native](https://lucide.dev/guide/packages/lucide-react-native)\n- **Storage**: [AsyncStorage](https://react-native-async-storage.github.io/async-storage/)\n- **Charts**: Custom chart components\n\n### Dioxus Project\n\n- **Framework**: [Dioxus](https://dioxuslabs.com/) (Rust-based UI framework)\n- **State Management**: [Dioxus Signals](https://dioxuslabs.com/docs/0.4/guide/en/state_management.html)\n- **Router**: [Dioxus Router](https://dioxuslabs.com/docs/0.4/router/en/index.html)\n- **Platforms**: Web (WASM), Desktop (Windows, macOS, Linux), Android\n\n### CI/CD\n\n- **GitHub Actions**: Automated build, test, and release pipeline\n- **Cross-Platform Builds**: Web, Desktop (Windows, macOS, Linux), Android\n- **Release Automation**: Automatic GitHub releases and Homebrew formula updates\n\n## CI/CD Pipeline\n\nThis repository uses GitHub Actions to automate the build, test, and release process for the OpenSVM-Dioxus project.\n\n### Workflow Overview\n\nThe CI/CD pipeline is defined in `.github/workflows/ci.yml` and includes the following jobs:\n\n1. **Build \u0026 Test**: Compiles and tests the application for all supported platforms\n2. **Release**: Creates platform-specific binaries and publishes them as GitHub releases\n3. **Homebrew Formula**: Updates the Homebrew formula for macOS users\n4. **Android Build**: Builds and optimizes the Android APK\n\n### GitHub Actions Used\n\nThe workflow uses the following GitHub Actions:\n\n- `actions/checkout@v4`: Checks out the repository\n- `actions/setup-java@v4`: Sets up JDK for Android builds\n- `actions/cache@v4`: Caches Cargo dependencies for faster builds\n- `actions/upload-artifact@v4`: Uploads build artifacts\n- `actions/download-artifact@v4`: Downloads artifacts for releases\n- `actions-rs/toolchain@v1`: Sets up Rust toolchain\n- `actions-rs/cargo@v1`: Runs Cargo commands\n- `softprops/action-gh-release@v1`: Creates GitHub releases\n- `android-actions/setup-android@v2`: Sets up Android SDK\n\n### Creating a Release\n\nTo create a new release:\n\n1. Create and push a new tag following semantic versioning:\n   ```bash\n   git tag v1.0.0\n   git push origin v1.0.0\n   ```\n\n2. The workflow will automatically:\n   - Build all platform versions\n   - Create a GitHub release with all artifacts\n   - Update the Homebrew formula\n\n### Installing from Homebrew\n\nOn macOS, you can install the application using Homebrew:\n\n```bash\n# Add the tap (only needed once)\nbrew tap openSVM/opensvm-mobile https://github.com/openSVM/opensvm-mobile.git\n\n# Install the application\nbrew install opensvm-dioxus\n```\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopensvm%2Fopensvm-mobile","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopensvm%2Fopensvm-mobile","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopensvm%2Fopensvm-mobile/lists"}