Skip to main content

Tech Stack

5BLOCK is built with modern web3 technologies.


Frontend

TechnologyVersionPurpose
Next.js14.xReact framework with App Router
TypeScript5.xType-safe JavaScript (strict mode)
wagmi2.xReact hooks for Ethereum
viem2.xLow-level Ethereum interactions
shadcn/ui-UI components (Radix + Tailwind)
TanStack Query5.xAsync state management
Tailwind CSS3.xUtility-first styling

Blockchain

TechnologyVersionPurpose
Solidity0.8.20Smart contract language
OpenZeppelin5.xSecure contract implementations
Hardhat2.xDevelopment framework
ethers.js6.xContract deployment

Networks

NetworkChain IDUse Case
Hardhat Local31337Development & testing
Sepolia11155111Public testnet deployment

External Services

Pinata (IPFS)

  • Purpose: Decentralized storage for card images and metadata
  • Why: Ensures images persist independently of 5BLOCK servers
  • Docs: docs.pinata.cloud

PokeAPI

  • Purpose: Pokemon data source (stats, types, images)
  • Why: Canonical source for Gen 1 Pokemon information
  • Docs: pokeapi.co/docs/v2

QuickNode

  • Purpose: Ethereum RPC provider for Sepolia
  • Why: Reliable, fast access to testnet blockchain
  • Docs: quicknode.com/docs

Development Tools

ToolPurpose
pnpmFast, disk-efficient package manager
ESLintCode linting
PrettierCode formatting
Hardhat ConsoleContract debugging

Why This Stack?

Next.js 14 + App Router

Modern React patterns with server components, layouts, and streaming. The App Router provides better code organization and performance.

wagmi + viem

The de facto standard for React + Ethereum. Wagmi provides React hooks that handle wallet connections, contract reads/writes, and chain switching. Viem is the underlying library for low-level operations.

OpenZeppelin

Battle-tested smart contract implementations. Using audited code for ERC-721 reduces security risks significantly.

IPFS via Pinata

Decentralized storage ensures card metadata and images aren't dependent on any single server. If 5BLOCK goes down, your NFT metadata remains accessible.