Intermediate5 min read
Edit on GitHubdApp Developer Path
Learn to integrate Cardano into decentralized applications with smart contract support
Welcome to the dApp Developer learning path. This guide will teach you how to build decentralized applications that interact with Cardano smart contracts.
What You'll Learn
By the end of this path, you'll be able to:
- Connect to browser wallets (Nami, Eternl, Lace)
- Build transactions that interact with Plutus scripts
- Evaluate transaction costs before submission
- Handle script execution errors gracefully
- Implement common dApp patterns (swaps, minting, etc.)
Prerequisites
Before starting, you should have:
- Completed the Wallet Developer Path or equivalent knowledge
- Understanding of Cardano's eUTxO model
- Familiarity with Plutus or Aiken smart contracts (conceptually)
- A Nacho API key from your dashboard
Path Overview
Intermediate15 min
Handle User Wallets
Connect to browser wallets and request transaction signatures.
Advanced25 min
Smart Contract Integration
Build transactions that interact with Plutus validators.
Core Concepts
Extended UTxO (eUTxO)
Cardano's smart contracts extend the UTxO model with:
- Datum: Data attached to script-locked UTxOs
- Redeemer: Data provided when spending script UTxOs
- Validator Script: On-chain code that validates spending
Traditional UTxO: Owner (public key) → can spend
Extended UTxO: Script + Datum → Redeemer required to spend
Script validates: (Datum, Redeemer, ScriptContext) → BoolScript Addresses
Scripts have their own addresses, derived from the script hash:
| Type | Example Prefix | Description |
|---|---|---|
| Plutus V1 | addr1w... | Original Plutus scripts |
| Plutus V2 | addr1w... | Reference inputs, inline datums |
| Plutus V3 | addr1w... | Conway era features |
Reference Scripts
Instead of including the full script in every transaction, you can:
- Store the script in a UTxO (reference script)
- Reference that UTxO in transactions
- Save significant transaction fees
dApp Architecture
dApp Architecture
API Endpoints for dApps
| Endpoint | Purpose |
|---|---|
queryLedgerState/utxo | Query script UTxOs with datums |
evaluateTransaction | Calculate execution units (before signing) |
submitTransaction | Submit signed transactions |
queryLedgerState/protocolParameters | Get current fee parameters |
Common dApp Patterns
DEX Swaps
- Query pool UTxO to get current liquidity
- Build swap transaction with redeemer
- Evaluate to get execution costs
- User signs, submit
NFT Minting
- Build transaction with minting policy
- Include metadata (CIP-25)
- Evaluate, sign, submit
Escrow / Vesting
- Lock funds at script address with datum
- Query script UTxOs
- Build claim transaction with redeemer
- Script validates claim conditions
Next Steps
Ready to start building? Begin with wallet integration:
Start: Handle User Wallets
Was this page helpful?