Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Open more actions menu

Repository files navigation

Performance Tool Client

A modern web application for monitoring and analyzing blockchain network performance metrics.

Overview

This tool provides real-time performance monitoring and analysis capabilities for blockchain networks, built with Next.js, TypeScript, and Tailwind CSS.

Prerequisites

  • Node.js (v18 or higher)
  • npm or yarn
  • Modern web browser

Getting Started

  1. Clone the repository:
git clone https://github.com/your-username/performance-tool-client.git
cd performance-tool-client
  1. Install dependencies:
npm install
# or
yarn install
  1. Set up environment variables:
cp .env.example .env.local

Commands

Run the development server on localhost:

npm run dev
# or
yarn dev

Build the application:

npm run build
# or
yarn build

More about deploying options

Deployments:

Deployed on Vercel automatically on PR merge.

How to Add New Method

Navigate to src/app/store/store.js and find the METHODS array:

export const METHODS = entity([
  {
    id: 0,
    method_used: 'eth_getBlockByNumber',
    method_url: process.env.NEXT_PUBLIC_BACKEND_APP_PATH_URL + 'test-get-block',
    perform: true,
    isLoading: true,
    data: {},
  },
  {
    id: 1,
    method_used: 'eth_call',
    method_url: process.env.NEXT_PUBLIC_BACKEND_APP_PATH_URL + 'test-eth-call',
    perform: true,
    isLoading: true,
    data: {},
  },
]);

To add a new method:

  1. Add a new object at the end of the array
  2. Increment the id field value
  3. Set method_used for the card label shown in results UI
  4. Update method_url with the new path
  5. Keep other fields unchanged

Project Structure

├── src/
│   ├── app/          # Next.js App Router components
│   └── components/   # Reusable React components
└── public/           # Static assets

Key Directories

  • /app/compare-double/page.js: Implements side-by-side comparison functionality for two blockchain nodes page
  • /app/compare-single/page.js: Implements testing functionality for one blockchain node page
  • /app/injection-result-double/page.js: Implements side-by-side comparison functionality for two blockchain nodes for injected page
  • /app/store/store.js: Contains global state management and methods configuration
  • /app/page.js: Initial page

Core Technologies

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Code Quality

  • Follows best practices for React and Next.js
  • Implements maintainable and scalable code structure
  • Includes comprehensive documentation
  • Uses TypeScript for type safety
  • Adheres to ESLint configuration

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.