Skip to content

Latest commit

 

History

History
69 lines (50 loc) · 4.13 KB

File metadata and controls

69 lines (50 loc) · 4.13 KB

Networked CryptoPunks

Monorepo for the onchain CryptoPunks data, rendering, and market contracts, plus the TypeScript SDK, indexer, and front-ends that build on them. All contracts target Ethereum mainnet only.

Packages

Package Name Purpose
contracts/ @networked-art/punks-contracts Hardhat 3 sources for PunksData, PunksRenderer, PunksMarket, the auction/vault system, and the batch unwrap helper for the broken June 9th 2017 CryptoPunks contract.
sdk/ @networked-art/punks-sdk Collection-first TypeScript SDK: local search and rendering, CryptoPunksMarket and PunksMarket reads/writes, Stash, criterion offers, and auctions.
indexer/ @networked-art/punks-indexer Ponder indexer that tracks CryptoPunks and CryptoPunksMarket, their ERC-721 wrappers, PunksMarket, and the PunksAuction house, with USD-cent prices stamped per event.
punksmarket.app/ @networked-art/punksmarket.app Nuxt front-end for punksmarket.app.
punks.auction/ @networked-art/punks.auction Nuxt front-end for punks.auction, the zero-fee auction house — lots, auctions, criterion offers, and Punks Vault custody.
docs/ @networked-art/punks-docs VitePress documentation site for the contracts and SDK.
images/ @networked-art/punks-images CryptoPunks sprite sheet and per-token PNG extraction — the rendering assets the front-ends consume.

Documentation

Full per-surface docs live in docs/. Highlights:

  • PunksData — trait masks, visual metrics, palette, indexed pixels, dataset commitments.
  • PunksRenderer — SVG, PNG-8, RGBA, marketplace backgrounds, ERC-721 metadata.
  • PunksMarket — the criteria-bid market that wraps the broken June 9th 2017 CryptoPunks contract.
  • TypeScript SDK — the collection-first SDK entry point.

Development

Requires Node 24 (see .node-version) and pnpm@10. If pnpm is not installed:

npm install -g pnpm@10

Install all workspace dependencies:

pnpm install

Running the front-end (punksmarket.app)

The SDK must be built before the Nuxt dev server can start — Vite resolves it from sdk/dist/ at runtime.

# 1. Build the SDK
pnpm --filter @networked-art/punks-sdk build

# 2. Set up the front-end env (only needed once)
cp punksmarket.app/.env.example punksmarket.app/.env
# Edit .env — set NUXT_RPC_URL to a mainnet JSON-RPC endpoint
# (e.g. https://eth.llamarpc.com for a free public one, or your Alchemy/Infura URL)

# 3. Start the dev server → http://localhost:3001
pnpm --filter @networked-art/punksmarket.app dev

Other commands

pnpm test           # contracts + SDK
pnpm typecheck      # all packages
pnpm format         # prettier
pnpm docs:dev       # local VitePress preview

Per-package scripts (Hardhat tasks, Ponder dev, Nuxt dev, Kamal deploys) are documented in each package's README.