Skip to content

nymos-xyz/nym-web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Nym Web - Blockchain Explorer & Network Interface

A React-based blockchain explorer and network management interface for the Nym blockchain, providing comprehensive tools for validators, developers, and token holders.

🌟 Features

Blockchain Explorer

  • Real-time Block Explorer: Browse blocks, transactions, and network activity
  • Transaction Details: Comprehensive transaction information with gas usage
  • Address Lookup: Search and view account details and transaction history
  • Network Statistics: Live network health, validator status, and performance metrics

Validator Management

  • Validator Directory: Complete list of network validators with performance metrics
  • Staking Interface: Delegate, undelegate, and redelegate tokens
  • Validator Details: Commission rates, uptime, voting power, and reputation
  • Performance Analytics: Historical performance and reward tracking

Governance Participation

  • Proposal Voting: Participate in network governance with secure voting
  • Proposal Creation: Submit new governance proposals
  • Voting History: Track voting patterns and proposal outcomes
  • Parameter Changes: Monitor and vote on network parameter updates

Wallet Integration

  • Multi-Wallet Support: Keplr, Cosmostation, and Leap wallet integration
  • Token Management: Send, receive, and manage NYM tokens
  • Transaction History: Complete transaction history with filtering
  • Balance Tracking: Real-time balance updates and USD conversion

Developer Tools

  • Network Monitoring: Real-time network health and performance
  • Gas Estimation: Transaction cost calculation and optimization
  • API Documentation: Complete RPC and REST API documentation
  • Smart Contract Interaction: Deploy and interact with smart contracts

πŸš€ Getting Started

Prerequisites

  • Node.js 18+ and npm
  • NixOS environment (recommended)

Installation

  1. Enter Nix Shell (if using NixOS):
cd /home/wao/lyra/proj/nymverse
nix-shell
  1. Install Dependencies:
cd nym-web
npm install
  1. Environment Setup:
cp .env.example .env.local
# Edit .env.local with your configuration
  1. Start Development Server:
npm start

The application will open at http://localhost:3000

Building for Production

npm run build

πŸ—οΈ Architecture

Frontend Stack

  • React 18 with TypeScript
  • Material-UI for blockchain-focused UI components
  • Redux Toolkit for state management
  • React Query for data fetching and caching
  • Recharts for data visualization

Blockchain Integration

  • Nym RPC Client: Direct connection to Nym blockchain nodes
  • WebSocket Updates: Real-time block and transaction updates
  • Wallet Connectors: Support for multiple Cosmos wallets
  • Gas Optimization: Intelligent gas estimation and optimization

Data Management

  • Real-time Updates: Live blockchain data with WebSocket connections
  • Caching Strategy: Intelligent caching for performance optimization
  • Error Handling: Robust error handling and retry mechanisms
  • Pagination: Efficient data loading for large datasets

🎨 UI/UX Design

Financial/Technical Theme

  • Dark Interface: Professional dark theme optimized for data analysis
  • Green Primary Color (#00e676): Financial/blockchain aesthetic
  • Monospace Typography: For addresses, hashes, and technical data
  • Data-Dense Layout: Optimized for information display

Key Components

  • Network Status Header: Real-time network health indicators
  • Explorer Tables: Sortable, filterable data tables for blocks/transactions
  • Validator Cards: Comprehensive validator information display
  • Governance Interface: Clean proposal voting and creation forms
  • Wallet Dashboard: Intuitive token management interface

πŸ”§ Configuration

Environment Variables

# Nym Network Configuration
REACT_APP_NYM_NODE_RPC=https://rpc.mainnet.nym.network
REACT_APP_NYM_NODE_REST=https://api.mainnet.nym.network
REACT_APP_NYM_NODE_WS=wss://rpc.mainnet.nym.network/websocket

# Chain Configuration
REACT_APP_CHAIN_ID=nym-mainnet-1
REACT_APP_CHAIN_NAME=Nym Mainnet
REACT_APP_CURRENCY_DENOM=unym
REACT_APP_CURRENCY_SYMBOL=NYM

# Application Configuration
REACT_APP_EXPLORER_NAME=Nym Explorer
REACT_APP_ENABLE_TESTNET=false
REACT_APP_UPDATE_INTERVAL=5000

Network Configuration

const networkConfig = {
  mainnet: {
    chainId: 'nym-mainnet-1',
    rpc: 'https://rpc.mainnet.nym.network',
    rest: 'https://api.mainnet.nym.network',
  },
  testnet: {
    chainId: 'nym-testnet-1', 
    rpc: 'https://rpc.testnet.nym.network',
    rest: 'https://api.testnet.nym.network',
  }
};

πŸ“Š Key Features

Real-Time Network Monitoring

  • Live Block Updates: Real-time block production and validation
  • Transaction Pool: Pending transaction monitoring
  • Validator Status: Live validator performance and uptime
  • Network Health: Consensus participation and network splits

Advanced Search

  • Multi-Type Search: Search blocks, transactions, addresses simultaneously
  • Smart Filtering: Intelligent search with auto-detection
  • Quick Navigation: Direct links to blocks and transactions
  • Search History: Recent search suggestions

Governance Tools

  • Proposal Lifecycle: Track proposals from submission to execution
  • Voting Analytics: Detailed voting statistics and participation rates
  • Parameter Tracking: Monitor network parameter changes
  • Community Engagement: Social features for governance discussion

Validator Analytics

  • Performance Metrics: Uptime, block production, and efficiency
  • Commission Tracking: Historical commission rate changes
  • Delegation Analytics: Delegator distribution and growth
  • Reward Calculations: Accurate reward estimation and tracking

πŸ› οΈ Development

Available Scripts

  • npm start - Development server
  • npm build - Production build
  • npm test - Run tests
  • npm run lint - Code linting
  • npm run format - Code formatting

Project Structure

src/
β”œβ”€β”€ components/          # Reusable UI components
β”‚   └── layout/         # Header, sidebar, navigation
β”œβ”€β”€ pages/              # Page components
β”‚   β”œβ”€β”€ DashboardPage   # Network overview
β”‚   β”œβ”€β”€ ExplorerPage    # Block/transaction explorer
β”‚   β”œβ”€β”€ ValidatorsPage  # Validator directory
β”‚   β”œβ”€β”€ StakingPage     # Staking interface
β”‚   β”œβ”€β”€ GovernancePage  # Governance participation
β”‚   └── WalletPage      # Wallet management
β”œβ”€β”€ services/           # API service layers
β”œβ”€β”€ store/              # Redux store and slices
β”œβ”€β”€ hooks/              # Custom React hooks
β”œβ”€β”€ types/              # TypeScript type definitions
└── utils/              # Utility functions

Key Components

  • Network Monitor: Real-time network status and health
  • Block Explorer: Block and transaction browsing
  • Validator Dashboard: Comprehensive validator management
  • Staking Interface: Delegation and reward management
  • Governance Portal: Proposal voting and submission
  • Wallet Integration: Multi-wallet support and management

🌐 Deployment

Production Deployment

  1. Build the application: npm run build
  2. Deploy to static hosting (Vercel, Netlify, IPFS)
  3. Configure domain and SSL certificates
  4. Set up monitoring and analytics

Docker Deployment

FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY build ./build
EXPOSE 3000
CMD ["npx", "serve", "-s", "build", "-l", "3000"]

CDN Configuration

  • Configure caching for static assets
  • Set up appropriate headers for API calls
  • Enable compression for optimal performance

πŸ” Security

Best Practices

  • No Private Key Storage: Never store private keys in the application
  • Secure Wallet Integration: Use standard wallet connection protocols
  • Input Validation: Validate all user inputs and API responses
  • HTTPS Only: Enforce HTTPS for all network communications

Wallet Security

  • Connection Encryption: Encrypted communication with wallet extensions
  • Permission Management: Granular permission requests
  • Session Management: Secure session handling and timeout
  • Transaction Verification: Multiple confirmation steps for transactions

πŸ“„ License

This project is part of the Nymverse ecosystem and is licensed under MIT OR Apache-2.0.

πŸ”— Related Projects

  • Nym Blockchain: Core blockchain implementation
  • Axon Social: Social networking platform built on Nym
  • QuID: Universal quantum-resistant authentication
  • NymCompute: Privacy-preserving distributed computing

Built for validators, developers, and the Nym community.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages