npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

logtui

v0.2.4

Published

A terminal-based UI for monitoring blockchain events using Hypersync

Downloads

10

Readme

LogTUI

A terminal-based UI for monitoring blockchain events using Hypersync.

LogTUI gif

Quickstart

Try it with a single command:

# Scan Uniswapv4 events on Unichain (using pnpx)
pnpx logtui uniswap-v4 unichain

# Monitor Aave events on Arbitrum (using npx)
npx logtui aave arbitrum

# See all available options
pnpx logtui --help

Features

  • Real-time monitoring of blockchain events with a beautiful terminal UI
  • Supports all Hypersync-enabled networks (Ethereum, Arbitrum, Optimism, etc.)
  • Extensive preset collection covering DeFi, Oracles, NFTs, L2s, and more
  • Built-in presets for 20+ protocols (Uniswap, Chainlink, Aave, ENS, etc.)
  • Custom event signature support
  • Event distribution visualization
  • Progress tracking and statistics
  • Automatic network discovery from Hypersync API with persistent caching

Installation

Global Installation

npm install -g logtui
# or
yarn global add logtui
# or
pnpm add -g logtui

Local Installation

npm install logtui
# or
yarn add logtui
# or
pnpm add logtui

Usage

CLI

# Default: Monitor Uniswap V3 events on Ethereum
logtui

# Track Uniswap V4 events
logtui uniswap-v4

# Monitor Chainlink price feed updates
logtui chainlink-price-feeds

# Track AAVE lending events on Arbitrum
logtui aave arbitrum

# Watch LayerZero cross-chain messages on Optimism
logtui layerzero optimism

# Monitor ENS registry events
logtui ens

# Monitor on a testnet
logtui chainlink-vrf arbitrum-sepolia

# List all available presets
logtui --list-presets

# List all available networks
logtui --list-networks

# Force refresh the network list from Hypersync API (updates cache)
logtui --refresh-networks

# Custom events
logtui -e "Transfer(address,address,uint256)" "Approval(address,address,uint256)" -n eth

Network Discovery

LogTUI automatically discovers and caches all networks supported by Hypersync:

  1. On first run, it loads the default networks
  2. It then attempts to fetch all available networks from the Hypersync API
  3. Networks are cached locally for future use, even when offline
  4. Use --refresh-networks to force update the cached network list

This ensures you always have access to all supported networks, even when working offline.

CLI Options

Usage: logtui [options] [preset] [network]

Arguments:
  preset                  Event preset to use (e.g., uniswap-v3, erc20, erc721) (default: "uniswap-v3")
  network                 Network to connect to (e.g., eth, arbitrum, optimism) (default: "eth")

Options:
  -V, --version           output the version number
  -e, --events <events>   Custom event signatures to monitor
  -n, --network <network> Network to connect to
  -t, --title <title>     Custom title for the scanner (default: "Blockchain Event Scanner")
  -l, --list-presets      List available event presets and exit
  -N, --list-networks     List all available networks and exit
  --refresh-networks      Force refresh network list from API
  -v, --verbose           Show additional info in the console
  -h, --help              display help for command

Programmatic Usage

You can also use LogTUI as a library in your Node.js applications:

import {
  createScanner,
  getNetworkUrl,
  getEventSignatures,
  fetchNetworks,
} from "logtui";

// Refresh the network list (optional, will use cache by default)
// Pass true to force refresh from API: fetchNetworks(true)
await fetchNetworks();

// Option 1: Using direct parameters
createScanner({
  networkUrl: "http://eth.hypersync.xyz",
  eventSignatures: [
    "Transfer(address,address,uint256)",
    "Approval(address,address,uint256)",
  ],
  title: "My Custom Scanner",
});

// Option 2: Using helper functions
const networkUrl = getNetworkUrl("arbitrum");
const eventSignatures = getEventSignatures("uniswap-v3");

createScanner({
  networkUrl,
  eventSignatures,
  title: "Uniswap V3 Scanner",
});

Supported Networks

LogTUI automatically discovers all networks supported by Hypersync. The following are some commonly used networks:

Mainnets

  • eth: Ethereum Mainnet
  • arbitrum: Arbitrum One
  • optimism: Optimism
  • base: Base
  • polygon: Polygon PoS
  • And many more...

Testnets

  • arbitrum-sepolia: Arbitrum Sepolia
  • optimism-sepolia: Optimism Sepolia
  • And more...

Run logtui --list-networks to see the complete, up-to-date list of all supported networks.

Built-in Event Presets

Core Presets

  • uniswap-v3: Core Uniswap V3 events (PoolCreated, Swap, Mint, Burn, Initialize)
  • uniswap-v4: Uniswap V4 PoolManager events (Swap, ModifyLiquidity, Initialize, Donate, and more)
  • erc20: Standard ERC-20 token events (Transfer, Approval)
  • erc721: Standard ERC-721 NFT events (Transfer, Approval, ApprovalForAll)

Oracles

  • chainlink-price-feeds: Chainlink price oracle events (AnswerUpdated, NewRound)
  • chainlink-vrf: Chainlink Verifiable Random Function events
  • pyth: Pyth Network oracle events
  • uma: UMA Oracle events (PriceProposed, PriceDisputed, PriceSettled)

DeFi Protocols

  • aave: Aave V3 lending protocol events (Supply, Withdraw, Borrow, Repay)
  • curve: Curve Finance pool events (TokenExchange, AddLiquidity)
  • weth: Wrapped Ether events (Deposit, Withdrawal, Transfer)
  • usdc: USD Coin stablecoin events

Cross-chain & L2

  • layerzero: LayerZero cross-chain messaging events
  • arbitrum: Arbitrum sequencer and bridge events

Gaming & NFTs

  • blur: Blur NFT marketplace events
  • axie: Axie Infinity game events
  • ens: Ethereum Name Service registry events

Emerging Tech

  • erc4337: Account Abstraction (ERC-4337) events
  • universalRouter: Uniswap's intent-based Universal Router events

Development

# Clone the repository
git clone https://github.com/yourusername/logtui.git
cd logtui

# Install dependencies
npm install

# Run the development version
node bin/logtui.js

Acknowledgements