{"id":40933389,"url":"https://github.com/fastnear/nearx","last_synced_at":"2026-01-22T04:13:02.883Z","repository":{"id":319880593,"uuid":"1079742658","full_name":"fastnear/nearx","owner":"fastnear","description":"Rust + egui framework for live transaction details that uses FastNear API key for RPC calls, including archival.","archived":false,"fork":false,"pushed_at":"2025-11-13T22:58:34.000Z","size":5673,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-13T23:24:19.044Z","etag":null,"topics":["egui","fastnear","near-protocol","ratatui-rs","tauri2"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/fastnear.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":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-20T10:11:51.000Z","updated_at":"2025-11-13T19:29:46.000Z","dependencies_parsed_at":"2025-10-20T18:29:40.450Z","dependency_job_id":null,"html_url":"https://github.com/fastnear/nearx","commit_stats":null,"previous_names":["fastnear/intents-terminal-explorer","fastnear/nearx"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fastnear/nearx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastnear%2Fnearx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastnear%2Fnearx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastnear%2Fnearx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastnear%2Fnearx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fastnear","download_url":"https://codeload.github.com/fastnear/nearx/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fastnear%2Fnearx/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28653899,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T01:17:37.254Z","status":"online","status_checked_at":"2026-01-22T02:00:07.137Z","response_time":144,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["egui","fastnear","near-protocol","ratatui-rs","tauri2"],"created_at":"2026-01-22T04:13:02.801Z","updated_at":"2026-01-22T04:13:02.874Z","avatar_url":"https://github.com/fastnear.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NEARx / Ratacat\n\n**Version 0.4.5+** - Production-ready NEAR blockchain explorer with quad-mode architecture\n\nFast, keyboard-driven interface sharing a single Rust core across four deployment targets:\n\n- **Terminal UI** (Ratatui) - Native TUI with full features\n- **Web UI** (DOM + WASM) - Pure DOM, no canvas/WebGL\n- **Desktop App** (Tauri v2) - Native app with deep link support\n- **Browser Extension** - 1Password-style integration (WIP)\n\n---\n\n## ✨ Recent Features (v0.4.0-0.4.5)\n\n### 🔐 OAuth \u0026 Authentication (v0.4.2)\n- Google OAuth + Magic link authentication\n- Secure token management with localStorage persistence\n- XSS-hardened CSP headers for Web/Tauri\n\n### 🎨 Pure DOM Frontend (v0.4.3)\n- Complete egui removal - zero canvas dependencies\n- JSON bridge pattern: `UiSnapshot` (state) + `UiAction` (commands)\n- Native browser UX: text selection, scrolling, accessibility\n\n### 📋 Unified Clipboard System (v0.4.1)\n- 4-tier fallback: Tauri plugin → Extension relay → Navigator API → execCommand\n- Platform abstraction eliminates code duplication\n- Works across all targets (TUI, Web, Tauri, extension)\n\n### 📜 Two-List Block Architecture (v0.4.4)\n- Seamless infinite scrolling through blockchain history\n- Automatic backfill placeholders with loading states\n- Consistent UX across TUI and Web/Tauri\n\n### ⌨️ Keyboard Shortcuts Overlay (v0.4.5+)\n- Press `?` to show comprehensive help modal (Web/Tauri)\n- Centralized state management in `App` struct\n- Infrastructure ready for TUI help screen (future)\n\n### 🔍 Fullscreen Dual-Mode Navigation (v0.4.3+)\n- **Scroll Mode**: Browse massive JSON content\n- **Navigate Mode**: Arrow keys navigate rows while viewing JSON\n- `Tab` toggles modes, `Space` toggles fullscreen\n\n---\n\n## Quick Start\n\n### Terminal (Native TUI)\n\n```bash\n# Development build\ncargo run --bin nearx --features native\n\n# Release build\ncargo build --release --bin nearx --features native\n./target/release/nearx\n```\n\n**Configuration**: Copy `.env.example` to `.env` and customize (optional)\n\n**Keyboard shortcuts**: `/` filter • `Tab` switch panes • `Space` fullscreen • `c` copy JSON • `?` help (TUI: see CLAUDE.md)\n\n### Web (WASM + DOM)\n\n```bash\n# Dev server (http://localhost:8000)\nmake dev\n\n# Production build\nmake web-release\n\n# Serve (Python example)\ncd web \u0026\u0026 python -m http.server 8000\n```\n\n**Token Configuration** (optional):\n```bash\nexport FASTNEAR_API_TOKEN_WEB=\"your-token-here\"\nmake dev\n```\n\n### Desktop (Tauri v2)\n\n```bash\ncd tauri-workspace\n\n# Development\ncargo tauri dev\n\n# Production build\ncargo tauri build\n```\n\n**Deep Links**: Supports `nearx://` protocol (e.g., `nearx://v1/tx/ABC123`)\n\n---\n\n## Architecture Overview\n\n**Tri-Target Design** with shared Rust core:\n\n```\n┌─────────────────────────────────────────────────────────┐\n│                    Shared Rust Core                     │\n│  • App state (blocks, txs, filters)                     │\n│  • RPC polling \u0026 WebSocket support                      │\n│  • JSON bridge (UiSnapshot ↔ UiAction)                  │\n└─────────────────────────────────────────────────────────┘\n                          ↓\n      ┌───────────────────┼───────────────────┐\n      ↓                   ↓                   ↓\n┌──────────┐      ┌──────────────┐      ┌──────────┐\n│   TUI    │      │   Web/Tauri  │      │ Browser  │\n│ (native) │      │ (DOM + WASM) │      │   Ext    │\n│ Ratatui  │      │ JSON bridge  │      │  (WIP)   │\n└──────────┘      └──────────────┘      └──────────┘\n```\n\n**JSON Bridge** (Web/Tauri):\n- **Rust → UI**: `UiSnapshot` (serialized state)\n- **UI → Rust**: `UiAction` (user commands)\n- **Benefits**: No canvas, native DOM, perfect accessibility\n\n---\n\n## Configuration\n\n### Environment Variables\n\nCopy `.env.example` to `.env` and customize:\n\n```bash\n# Data source (ws or rpc)\nSOURCE=rpc\nNEAR_NODE_URL=https://rpc.mainnet.fastnear.com/\n\n# FastNEAR API token (recommended to avoid rate limits)\nFASTNEAR_API_TOKEN=your-token-here\n\n# Archival RPC (optional, enables unlimited history)\nARCHIVAL_RPC_URL=https://archival-rpc.mainnet.fastnear.com/\n\n# Performance\nRENDER_FPS=30\nKEEP_BLOCKS=100\n```\n\n### CLI Override\n\nAll settings can be overridden via CLI arguments:\n\n```bash\n./nearx --source rpc --render-fps 60 --keep-blocks 200\n```\n\n**See `.env.example` for all 25+ configuration options.**\n\n---\n\n## Troubleshooting\n\n### Terminal Build Errors\n\n**Error**: `winit not supported on this platform`\n- **Fix**: Use `--features native` flag explicitly\n\n**Error**: `zstd-sys` or `secp256k1-sys` errors (Web builds)\n- **Fix**: Use `--no-default-features --features dom-web`\n\n### Web Build Errors\n\n**Error**: `wasm-bindgen version mismatch`\n- **Fix**: Reinstall CLI: `cargo install wasm-bindgen-cli --locked --force`\n\n**Error**: Connection refused in browser console\n- **Fix**: Check `NEAR_NODE_URL` in `.env` or pass via URL parameter\n\n### Runtime Issues\n\n**High CPU usage**:\n```bash\nRENDER_FPS=20 cargo run --bin nearx --features native\n```\n\n**RPC timeouts**:\n```bash\nRPC_TIMEOUT_MS=15000 POLL_CHUNK_CONCURRENCY=2 cargo run --bin nearx --features native\n```\n\n---\n\n## Documentation\n\n- **`CLAUDE.md`** - **Primary source of truth**: Architecture, design decisions, full feature documentation (5000+ lines)\n- **`QUICK_START.md`** - Build/test matrix for all targets\n- **`COLLABORATION.md`** - Development guidelines and workflow\n\n**For comprehensive details**, see `CLAUDE.md` sections:\n- Quad-Mode Architecture\n- OAuth \u0026 Authentication\n- Security (CSP, XSS hardening)\n- JSON Bridge Pattern\n- Performance Characteristics\n\n---\n\n## Development\n\n### Build Matrix\n\n| Target | Command | Features | Output |\n|--------|---------|----------|--------|\n| TUI | `cargo build --bin nearx --features native` | Full (SQLite, WebSocket) | Native binary |\n| Web | `make web` | DOM + WASM | `web/pkg/` |\n| Tauri | `cd tauri-workspace \u0026\u0026 cargo tauri build` | DOM + native plugins | `.app`/`.exe` |\n\n### Testing\n\n```bash\n# Unit tests\ncargo test --features native\n\n# E2E tests (Tauri)\ncd e2e-tests\nnpm test\n\n# Check all targets compile\ncargo check --bin nearx --features native\ncargo check --bin nearx-web-dom --target wasm32-unknown-unknown --features dom-web\ncd tauri-workspace \u0026\u0026 cargo check\n```\n\n---\n\n**License**: MIT • Built with Ratatui, Tokio, Tauri, Rust for NEAR Protocol\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffastnear%2Fnearx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffastnear%2Fnearx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffastnear%2Fnearx/lists"}