Workshop Amikom — EVM
In this workshop you build a full-stack “Tabungan Crypto” (crypto savings) dApp on Ethereum, end-to-end: from a Vite starter to an on-chain integration on the Sepolia testnet.What you’ll build
A single-page dApp where a connected wallet can:- See its IDRT token balance and its Vault savings balance
- Mint test tokens (open faucet)
- Approve the Vault, then Deposit tokens into savings
- Withdraw tokens back to the wallet
The core Web3 flow
approve), then
the contract pulls them (transferFrom).
Tech stack
| Layer | Tools |
|---|---|
| App | Vite, React 19, TypeScript |
| Styling | Tailwind CSS v4, shadcn-style components (neo-brutalism) |
| Wallet | RainbowKit |
| Chain access | wagmi + viem |
| Data | @tanstack/react-query |
| Contracts | Solidity + Foundry (forge, cast, anvil) |
| Network | Ethereum Sepolia testnet |
Repositories
Frontend starter
Vite + React + Tailwind v4 + shadcn, neo-brutalism themed (branch
starter).Smart contracts
Foundry project:
RupiahToken (ERC20) + Vault.Prerequisites
- Basic JavaScript/TypeScript and React
- Node.js 20+
- A browser wallet (MetaMask) with some Sepolia ETH (grab from a faucet)
- For the contracts section: Foundry (
forge,cast)
Everything here runs on a testnet — no real funds. Use a throwaway test
wallet, never one holding mainnet assets.
Workshop steps
Start: The Starter
Clone and run the neo-brutalism Vite starter.
