Blockchain Explorer (peerpay-saas-blockchain-explorer)

The peerpay-saas-blockchain-explorer is the frontend user interface for the PeerPay SaaS platform. It is built with Vue 3, TypeScript, Vite and TailwindCSS, and provides a comprehensive dashboard for administrators and operators to visualise network activity.

At a Glance

Property Value
Role User-facing UI for the platform
Stack Vue 3, TypeScript, Vite, TailwindCSS
Default port 3000
Backend Fabric SaaS API over HTTPS
Persistent state None (pure SPA; all state lives on the backend)

Purpose

The Explorer surfaces the underlying blockchain data to humans:

  • View overall dashboard statistics — total blocks, transactions, channels, nodes.
  • Analyse block activity and transaction history in real time.
  • Manage remote peers through the "Generate Remote Peer Crypto" workflow (see Remote Enterprise Node).
  • Inspect the status of chaincodes and channel configurations.

Prerequisites

  • The Fabric SaaS API is reachable from the user's browser.
  • A VITE_API_BASE_URL value pointing at the API origin (set at build time or runtime depending on the Compose setup).

How It Runs Independently

The frontend is fully containerised and can be served via its dedicated Docker Compose configuration:

docker compose -f peerpay-saas-blockchain-explorer/docker-compose.yml up -d

For local development with hot reloading:

npm install
npm run dev

It is a single-page application (SPA) that runs entirely in the browser. It does not maintain persistent state of its own — everything authoritative lives in the backend API and the ledger.

Communication

  • API integration — the Explorer talks only to the Fabric SaaS API via HTTP REST. It never connects to the blockchain or any database directly.
  • Configuration — provided at runtime or build time via environment variables (e.g. VITE_API_BASE_URL), which point the SPA at the correct backend gateway.
  • Authentication — the Explorer obtains a JWT from the API on login and includes it as a Bearer token in subsequent requests.