Project scaffolding
Introduction
Setting up a dApp means wiring together an on-chain language, an off-chain library, a frontend, and a local devnet. Scaffolding does that wiring for you, so you start from a runnable project instead of a blank directory. These are the starting points; Build your first dApp walks one through end to end.
dApp templates
Two minimal, runnable dApp starters, one per SDK, each doing the same thing: connect a wallet, show the balance, and send ADA. Start a project from one with giget (it copies a single template folder into a new directory):
# Evolution + Vite + React
npx giget@latest gh:cardano-foundation/developer-portal/examples/templates/evolution-vite-react my-app
# Mesh + Next.js
npx giget@latest gh:cardano-foundation/developer-portal/examples/templates/mesh-nextjs my-app
Then cd my-app, npm install, set a free Blockfrost key in the env file, and npm run dev. Browse the source first if you prefer: evolution-vite-react and mesh-nextjs.
Build your first dApp takes one of these templates from scaffold to a working wallet payment, explaining each piece (connect, read the balance, send ADA) in even Evolution and Mesh tabs.
See Choose your tools for how the SDKs compare.
More starters
- Mesh Aiken template: a full-stack starter pairing the Mesh SDK off-chain with Aiken on-chain, when you want a contract from the start.
- The bootcamp examples are runnable projects for specific lessons (multisig, vesting, NFTs, Hydra, and more).
cardano-init
cardano-init aims to unify scaffolding into one tool. You pick the tools for each role (on-chain validators, off-chain transaction building, local devnet, infrastructure, or formal methods) and it generates a complete, runnable monorepo with everything pre-wired, plus a working end-to-end example that builds and passes tests. It offers an interactive setup, a one-shot command line, a dry-run preview, and a web-based configurator.
cardano-init is an early prototype and not yet ready for use. Its templates, CLI flags, and output are still changing. Track progress at the cardano-init repository. This page will be expanded as the tooling matures.