Skillfranchise is a decentralized, quest-driven job marketplace. Companies deploy on-chain quests that validate candidate skills; successful completions unlock referral opportunities. This monorepo combines the smart contracts, generated TypeScript SDK, and the Next.js Web3 client.
contracts/– Hardhat workspace containing upgradeable Solidity contracts, deployment scripts, and exhaustive tests.packages/sdk/– Generated viem/wagmi bindings plus shared domain utilities.apps/web/– Next.js 14 app router frontend with RainbowKit onboarding, Zustand state, IPFS upload flows, and Neobrutalist design system.
- Node.js ≥ 18.18 with Corepack (pnpm) enabled.
- Foundry (optional) for fuzz/invariant tests.
- Access to Sepolia RPC + IPFS pinning provider credentials.
corepack enable
pnpm install
pnpm dev- Upgradeable quests now support reviewer allowlists, factory-driven emergency pause/cancel actions, deadline extensions, and on-chain reward top-ups.
- Admins can manage roles and quest health from the factory while the SDK ships type-safe viem bindings for these flows.
Create .env files in the root, contracts/, and apps/web/ with at least:
NEXT_PUBLIC_CHAIN_ID=11155111
NEXT_PUBLIC_FACTORY_START_BLOCK=0
NEXT_PUBLIC_USER_PROFILE=0x...
NEXT_PUBLIC_IPFS_ENDPOINT=https://api.nft.storage/upload
NEXT_PUBLIC_IPFS_TOKEN=your_ipfs_token
SEPOLIA_RPC_URL=https://...
PRIVATE_KEY=0x...
Refer to the contracts/README.md and apps/web/README.md files for subsystem-specific instructions.