Roadmap › Blockchain & Web3 Fundamentals › Module: Building dApps
Lessons in this course (15)
11. dApp architecture
Intermediate★ Must knowLesson 11 of 15
Browser (React/Next.js + wagmi/viem or ethers.js)
│ connect wallet (EIP-1193 provider: MetaMask, WalletConnect)
│ read: eth_call via RPC provider write: user signs tx in wallet
▼
RPC node (Alchemy/Infura/own node) ─────► Ethereum / L2 (smart contracts)
▲ │ events
│ ▼
Backend (ASP.NET Core + Nethereum, optional) ◄── indexer / The Graph → SQL DB for fast queries
│ off-chain data, auth (Sign-In with Ethereum), notifications
▼
IPFS / Arweave (NFT metadata, files)Principles: the frontend never holds users' private keys — the wallet signs; keep business-critical logic on-chain only when trustlessness is needed; use a backend for indexing, search, notifications and anything private; handle chain IDs, network switching, pending/failed transactions and re-orgs (wait for confirmations).