Memahami lanskap multi-chain: L2 seperti Base, Arbitrum, Optimism Superchain, zkSync, dan Polygon zkEVM, cara kerja bridges dan trust assumption, pola multichain contracts dengan Wormhole dan LayerZero, serta chain abstraction dengan viem

Setelah di episode 17 wallet kalian makin canggih, pada episode ini kita melebarkan jangkauan: dari satu chain ke banyak chain. DApp modern jarang hidup di satu jaringan — token, likuiditas, dan user tersebar di Ethereum, L2, dan ekosistem lain.
Mengapa episode ini penting? Karena setiap keputusan "di chain mana DApp ini hidup?" membawa konsekuensi biaya, keamanan, dan pengalaman user. Dan begitu ada banyak chain, muncul pertanyaan lanjutan: bagaimana memindahkan aset dan membangun aplikasi yang berjalan di semuanya?
| L2 | Jenis | Karakter |
|---|---|---|
| Base | Optimistic rollup (Coinbase) | Ekosistem konsumen & on-chain apps besar |
| Arbitrum | Optimistic rollup | TVL L2 terbesar, DeFi dalam |
| Optimism (Superchain) | Optimistic rollup | Standar interoperabilitas Superchain |
| zkSync | ZK rollup | Withdraw cepat, privasi lewat ZK |
| Polygon zkEVM | ZK rollup | Kompatibilitas EVM dengan bukti ZK |
Perbedaan fundamental optimistic vs ZK rollup: optimistic menganggap transaksi valid dan menantang lewat window bukti penipuan; ZK membuktikan validitas langsung dengan bukti kriptografis. Keduanya menumpang keamanan L1 Ethereum — itulah yang membuat L2 "aman seperti Ethereum" dengan biaya jauh lebih rendah.
Bridge memungkinkan aset berpindah antar chain — misalnya ETH dari Ethereum ke Base. Penting dipahami: ini bukan "teleport". Aset di-unlock di satu sisi dan di-mint/representasikan di sisi lain:
Inilah bagian yang sering dilupakan: bridge memperkenalkan pihak yang harus dipercaya:
| Jenis Bridge | Trust | Contoh |
|---|---|---|
| Bridge resmi (canonical) | Dipercaya oleh desain L2 | OP Standard Bridge |
| Bridge validator/multisig | Percaya validator | Bridge pihak ketiga |
| Bridge ZK | Verifikasi kriptografis | ZK bridge modern |
| Intent/atomic swap | Aksi market maker | Cross-chain intent |
Aturan praktis keamanan: gunakan bridge resmi L2 bila ada, verifikasi bridge pihak ketiga dengan ekstrem hati-hati, dan jangan pernah menyimpan dana besar di bridge non-canonical. Sejarah mencatat banyak eksploit miliaran dolar di bridge yang trust assumption-nya lemah.
Untuk membangun kontrak yang hidup di banyak chain sekaligus, ada dua pola utama:
Protocol messaging memungkinkan kontrak di chain A mengirim pesan ke kontrak di chain B:
Pola umum: token yang bisa "dipindahkan" (burn di chain asal, mint di chain tujuan) atau state yang disinkronkan antar chain.
Untuk sebagian besar kasus, kalian cukup mendeploy kontrak yang sama di beberapa chain dengan address yang bisa diprediksi (CREATE2). Tidak perlu messaging — setiap chain punya instance sendiri, dan data di-cross-check di aplikasi.
Sisi frontend: user tidak peduli di chain mana sesuatu terjadi — mereka ingin melihat "jumlah total aset saya" di semua chain. viem mendukung multi-chain secara native:
const clients = chains.map((chain) =>
createPublicClient({ chain, transport: http() }),
)
const balances = await Promise.all(
clients.map((client) =>
client.readContract({
address: tokenAddress,
abi: erc20Abi,
functionName: "balanceOf",
args: [userAddress],
}),
),
)Pola "chain abstraction" ini — API yang menyembunyikan detail per-chain dari UI — adalah arah yang sedang dikejar banyak tim di 2026. Mulai sederhana: chains array + per-chain client, lalu abstraksikan.
Warning
Waspadai "identical address assumption": address yang sama di dua chain bukan jaminan kontraknya sama — bisa saja kontrak berbeda atau bahkan jahat. Selalu simpan & tampilkan address per chain secara eksplisit (pola contracts.ts dari episode 9), dan verifikasi di explorer setiap chain.
Rangkuman yang sudah kalian pelajari di episode 18:
Inti yang harus dibawa pulang:
Di episode 19 selanjutnya, kita membahas testing & QA DApp — testing kontrak dengan Foundry/Hardhat, testing frontend dengan Playwright, penggunaan Anvil dengan fork mainnet, util testing wagmi, serta simulasi wallet di E2E. Sampai jumpa di episode 19!