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



Problem Statement
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:Development-First FeaturesReal-time visualization of state transitions for debuggingDetailed transaction execution results with error messagesBlock-by-block examination of state changesClear visibility into method calls and their parametersState Management InsightsInteractive JSON viewer for complex state structuresVisual diff comparison of state before/after transactionsDetailed view of account states and their changesMethod-specific state transition tracking
Solution
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 frameworkGraphQL for efficient data fetchingshadcn/ui for a polished component libraryRadix UI for accessible primitivesTailwindCSS for stylingApollo Client for GraphQL state managementArchitecture & Implementation Details:Real-time Data HandlingImplemented an efficient polling system using Apollo Client's built-in featuresCreated a custom hook system for real-time data updates that maintains UI responsivenessUsed GraphQL subscriptions for instant updates on new blocks and transactionsSearch ImplementationBuilt a command palette-style search interface (⌘K shortcut)Implemented debounced search with client-side cachingCreated a custom JSON tree viewer for displaying nested state transitionsAdded copy-to-clipboard functionality for all important fieldsState ManagementUtilized React Context for global configurationImplemented a custom hook system for shared stateCreated a modular reducer pattern for handling complex state updatesPerformance OptimizationsImplemented virtualized lists for handling large datasetsAdded pagination with cursor-based GraphQL queriesUsed React.memo and useMemo for optimized rendersImplemented aggressive caching strategies for frequently accessed dataUI/UX ConsiderationsBuilt a responsive layout that works seamlessly on all devicesImplemented dark/light mode with system preference detectionCreated smooth transitions and animations for a polished feelAdded keyboard shortcuts for power usersNotable Technical Achievements:Smart JSON ViewerCreated a collapsible JSON viewer that intelligently handles deep nested structuresImplemented syntax highlighting for different data typesAdded copy functionality for any node in the treeEfficient State Transitions DisplayBuilt a custom visualization for state transitionsImplemented diff highlighting for state changesCreated a compact yet informative display of complex state dataSearch OptimizationImplemented fuzzy search for transaction hashesCreated an efficient caching layer for recent searchesBuilt a smart ranking system for search results
Hackathon
ETHGlobal Bangkok
2024
Prizes
- 🏆
Best Mina application or library built using Protokit1st place
Mina Protocol
Contributors
- satyambnsal
13 contributions