A lightweight, RPC-based blockchain explorer for NEAR Protocol with automatic failover support. Perfect for local development and connecting to multiple RPC providers with high availability.
- 🚀 Lightweight - No database required, queries directly via RPC
- 🔄 Automatic Failover - Seamlessly switches between RPC providers on failures
- 🔁 Smart Retry - Exponential backoff (100ms → 300ms → 900ms) for resilient requests
- ⚙️ Provider Management - Visual settings page to manage RPC endpoints
- 🌐 Multi-Network - Supports mainnet, testnet, and custom localnet configurations
- 📊 Real-time - View blocks, transactions, and network status
- 🎨 Modern UI - Clean, responsive interface built with React and Tailwind CSS
- Node.js 18+ (run
nvm useif using nvm) - npm or yarn
# Install dependencies
npm install
# Start development server
npm run devThe explorer will be available at http://localhost:5173/
The explorer comes pre-configured with:
- FastNEAR (mainnet) - enabled by default
- NEAR Official (testnet) - enabled by default
- Localhost:3030 (localnet) - enabled by default
- Navigate to Settings in the navigation menu
- Enable/disable providers by network type (Mainnet, Testnet, Localnet)
- Add custom RPC endpoints for your local nodes
- Test provider connectivity with the "Test" button
- Reorder providers to set failover priority
Name: My Local Node
URL: http://localhost:3030
Click "Add Provider" to save.
For detailed information on RPC failover, see RPC_FAILOVER_GUIDE.md.
- Home Page - View latest network status and recent blocks
- Blocks List - Browse all blocks with pagination
- Block Detail - View detailed information about a specific block
- Transaction List - See all transactions for a given block
Use the search feature to find:
- Blocks by height or hash
- Transactions by hash
- Accounts by ID
Configure RPC providers:
- Select which networks to use (mainnet/testnet/localnet)
- Add custom RPC endpoints
- Test provider connectivity
- Set failover priority
# Build for production
npm run build
# Preview production build
npm run preview- Provider Manager - Fetches and manages RPC provider list from GitHub
- Failover Client - Implements retry logic with smart error detection
- Auto-Switch - Automatically fails over on network errors (not RPC errors)
- Persistence - Saves provider preferences to localStorage
See RPC_FAILOVER_GUIDE.md for technical details.
- Quick Start Guide - Get started quickly
- Development Guides - RPC failover, dev checklist, quick reference
- Research Notes - NEAR architecture and indexer research
- Archive - Historical implementation notes
├── components/ # React components
│ └── ui/ # UI primitives (Button, Card, etc.)
├── contexts/ # React contexts (Theme)
├── lib/ # Core libraries
│ ├── nearRpcFailover.ts # Failover RPC client
│ ├── providerManager.ts # Provider management
│ └── toast.ts # Toast notifications
├── pages/ # Page components (routes)
└── public/ # Static assets
- React 18 - UI framework
- TypeScript - Type safety
- Vite - Build tool and dev server
- Tailwind CSS - Styling
- Wouter - Lightweight routing
To connect to a local NEAR node:
- Start your local NEAR node on port 3030
- Go to Settings in the explorer
- Verify "Localhost:3030" is enabled
- The explorer will automatically use your local node
To contribute to NEAR Explorer, please see CONTRIBUTING.
Most real-time collaboration happens in a variety of channels on the NEAR Discord server, with channels dedicated for getting help, community, documentation, and all major contribution areas in the NEAR ecosystem. A good place to ask for help would be the #general channel.
NEAR Explorer is distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See LICENSE-MIT and LICENSE-APACHE for details.