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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@blobkit/proxy-server

v1.0.4

Published

Express.js proxy server for blob transaction execution with payment verification

Downloads

8

Readme

@blobkit/proxy-server

Express.js server that executes EIP-4844 blob transactions on behalf of browser clients after verifying escrow payments.

Installation

npm install @blobkit/proxy-server

Requirements

  • Node.js v18 or later
  • Redis 6.0 or later (for persistent job queue)

Usage

# Using CLI
npx blobkit-proxy --rpc-url $RPC_URL \
                  --private-key $PRIVATE_KEY \
                  --escrow-contract 0x1234567890123456789012345678901234567890

# Using environment variables
export RPC_URL=$MAINNET_RPC_URL
export PRIVATE_KEY=$PRIVATE_KEY
export ESCROW_CONTRACT=0x1234567890123456789012345678901234567890
npx blobkit-proxy

Configuration

| Environment Variable | Required | Default | Description | | ------------------------ | -------- | ---------------------- | -------------------------------- | | RPC_URL | Yes | - | Ethereum RPC endpoint | | ESCROW_CONTRACT | Yes | - | Escrow contract address | | KZG_TRUSTED_SETUP_PATH | Yes | - | Path to KZG trusted setup file | | REQUEST_SIGNING_SECRET | Yes | - | HMAC secret (min 32 chars) | | PRIVATE_KEY | No* | - | Private key for dev (see below) | | AWS_KMS_KEY_ID | No* | - | AWS KMS key ARN for production | | PORT | No | 3000 | Server port | | HOST | No | 0.0.0.0 | Server host | | CHAIN_ID | No | 1 | Ethereum chain ID | | PROXY_FEE_PERCENT | No | 0 | Fee percentage (0-10) | | LOG_LEVEL | No | info | Log level: debug/info/warn/error | | REDIS_URL | No | redis://localhost:6379 | Redis connection URL |

*One key management option required (PRIVATE_KEY for development, AWS_KMS_KEY_ID for production)

KZG Trusted Setup

The proxy server requires a KZG trusted setup for creating blob commitments and proofs:

  • Default: Uses the built-in Ethereum mainnet trusted setup
  • Custom: Specify a path with KZG_TRUSTED_SETUP_PATH environment variable
# Use custom trusted setup
export KZG_TRUSTED_SETUP_PATH=/path/to/trusted_setup.txt
npx blobkit-proxy

The trusted setup file should be in the standard Ethereum KZG ceremony format. Download from ceremony.ethereum.org.

Redis Persistence

The proxy server uses Redis for persistent job queue management. This ensures that pending job completions survive server restarts.

Redis Setup

# Using Docker
docker run -d -p 6379:6379 redis:7-alpine

# Using Homebrew (macOS)
brew install redis
brew services start redis

# Using apt (Ubuntu/Debian)
sudo apt update
sudo apt install redis-server
sudo systemctl start redis-server

Redis Configuration

The server connects to Redis using the REDIS_URL environment variable. Examples:

# Local Redis
REDIS_URL=redis://localhost:6379

# Redis with authentication
REDIS_URL=redis://username:password@hostname:6379

# Redis with TLS
REDIS_URL=rediss://hostname:6380

Testing and Development

npm test               # Run tests
npm run test:coverage  # Run tests with coverage
npm run build          # Build for production
npm run dev            # Start development server
npm run lint           # Lint code
npm run type-check     # TypeScript checking

Documentation

See /docs/proxy/ for deployment guides and API documentation.