A web application to explore bridge transactions between Tezos and Etherlink, built with Next.js, MobX, React, and Material-UI.
- Transaction List: View recent bridge transactions (deposits and withdrawals) between Tezos and Etherlink
- Transaction Details: Detailed view of individual transactions with comprehensive data sections
- Advanced Search: Search transactions by hash, Tezos address, Etherlink address, or token symbol
- Node.js (v18 or newer recommended)
- npm, yarn, pnpm, or bun
- Modern browser with ES6+ support
-
Clone the repository:
git clone https://github.com/your-username/tezos-etherlink-bridge-explorer.git cd tezos-etherlink-bridge-explorer -
Install dependencies:
npm install # or yarn install # or pnpm install # or bun install
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devThe development server uses Turbopack for faster builds and hot reloading.
Open http://localhost:3000 in your browser to view the app.
npm run build
npm startsrc/app/– Next.js app directory (pages, layout, global styles)transaction/[txHash]/– Dynamic transaction detail pages
src/components/– React componentsTransactionTable/– Transaction list componentsTransactionDetails/– Transaction detail page componentsshared/– Reusable UI componentslayouts/– Layout components
src/stores/– MobX storessrc/hooks/– Custom React hookssrc/theme/– Material-UI theme configurationsrc/utils/– Utility functionssrc/types/– TypeScript type definitionspublic/– Static assets
The application supports different networks through environment variables. Create a .env.local file in the root directory:
# GraphQL Endpoint
# Mainnet (default)
NEXT_PUBLIC_GRAPHQL_ENDPOINT=https://bridge.indexer.etherlink.com/v1/graphql
# Shadownet
# NEXT_PUBLIC_GRAPHQL_ENDPOINT=https://shadownet.bridge.indexer.etherlink.com/v1/graphql
# Etherlink Network Configuration (for wallet connections)
# Mainnet (default)
NEXT_PUBLIC_ETHERLINK_CHAIN_ID=42793
NEXT_PUBLIC_ETHERLINK_RPC_URL=https://node.mainnet.etherlink.com
NEXT_PUBLIC_ETHERLINK_NETWORK_NAME=Etherlink Mainnet
NEXT_PUBLIC_ETHERLINK_BLOCK_EXPLORER_URL=https://explorer.etherlink.com
# Shadownet
# NEXT_PUBLIC_ETHERLINK_CHAIN_ID=127823
# NEXT_PUBLIC_ETHERLINK_RPC_URL=https://node.shadownet.etherlink.com
# NEXT_PUBLIC_ETHERLINK_NETWORK_NAME=Etherlink Shadownet Testnet
# NEXT_PUBLIC_ETHERLINK_BLOCK_EXPLORER_URL=https://shadownet.explorer.etherlink.comIf no environment variables are set, the application defaults to mainnet endpoints.
Transactions are fetched from the configured GraphQL endpoint (see Environment Configuration above).
Main store for managing transaction data, pagination, and fetching from the GraphQL API. Handles transaction loading states and auto-refresh functionality.
Store for individual transaction detail pages. Manages loading and displaying detailed information for a specific transaction.
Handles search functionality including input validation, filtering by withdrawal type, and building query filters for different search criteria.
- TransactionTable: Main component for displaying the list of transactions with search and pagination
- TransactionDetails: Comprehensive transaction detail view with multiple data sections
- SearchBox: Advanced search component supporting multiple search criteria
- Framework: Next.js 15 with App Router
- Build Tool: Turbopack for fast development builds
- UI Library: Material-UI (MUI) v7 with custom theming
- State Management: MobX with MobX React Lite
- Language: TypeScript
- Styling: Emotion (CSS-in-JS) with MUI
- Icons: Material-UI Icons
- Notifications: React Hot Toast