project screenshot 1
project screenshot 2
project screenshot 3

ProtoStar

Protokit is a block explorer for developers building on Protokit app chain and MINA.

ProtoStar

Created At

ETHGlobal Bangkok

Winner of

Mina Protocol - Best Mina application or library built using Protokit 1st place

Project Description

Protoscope is a specialized blockchain explorer designed specifically for developers building and maintaining Protokit app chains. It serves as a crucial development tool that provides deep insights into your app chain's state, transactions, and block production.

Core Purpose: When building a Protokit app chain, developers need to understand what's happening under the hood – from state transitions to transaction execution. Protoscope makes this possible by providing:

  1. Development-First Features

    • Real-time visualization of state transitions for debugging
    • Detailed transaction execution results with error messages
    • Block-by-block examination of state changes
    • Clear visibility into method calls and their parameters
  2. State Management Insights

    • Interactive JSON viewer for complex state structures
    • Visual diff comparison of state before/after transactions
    • Detailed view of account states and their changes
    • Method-specific state transition tracking

How it's Made

Protoscope is built as a modular React-based explorer for Protokit blockchain networks, focusing on real-time data visualization and a seamless user experience. Here's a deep dive into its architecture and implementation:

Core Technologies:

  • React for the UI framework
  • GraphQL for efficient data fetching
  • shadcn/ui for a polished component library
  • Radix UI for accessible primitives
  • TailwindCSS for styling
  • Apollo Client for GraphQL state management

Architecture & Implementation Details:

  1. Real-time Data Handling

    • Implemented an efficient polling system using Apollo Client's built-in features
    • Created a custom hook system for real-time data updates that maintains UI responsiveness
    • Used GraphQL subscriptions for instant updates on new blocks and transactions
  2. Search Implementation

    • Built a command palette-style search interface (⌘K shortcut)
    • Implemented debounced search with client-side caching
    • Created a custom JSON tree viewer for displaying nested state transitions
    • Added copy-to-clipboard functionality for all important fields
  3. State Management

    • Utilized React Context for global configuration
    • Implemented a custom hook system for shared state
    • Created a modular reducer pattern for handling complex state updates
  4. Performance Optimizations

    • Implemented virtualized lists for handling large datasets
    • Added pagination with cursor-based GraphQL queries
    • Used React.memo and useMemo for optimized renders
    • Implemented aggressive caching strategies for frequently accessed data
  5. UI/UX Considerations

    • Built a responsive layout that works seamlessly on all devices
    • Implemented dark/light mode with system preference detection
    • Created smooth transitions and animations for a polished feel
    • Added keyboard shortcuts for power users

Notable Technical Achievements:

  1. Smart JSON Viewer

    • Created a collapsible JSON viewer that intelligently handles deep nested structures
    • Implemented syntax highlighting for different data types
    • Added copy functionality for any node in the tree
  2. Efficient State Transitions Display

    • Built a custom visualization for state transitions
    • Implemented diff highlighting for state changes
    • Created a compact yet informative display of complex state data
  3. Search Optimization

    • Implemented fuzzy search for transaction hashes
    • Created an efficient caching layer for recent searches
    • Built a smart ranking system for search results
background image mobile

Join the mailing list

Get the latest news and updates