Mengelola infrastruktur komunikasi DApp: perbandingan provider RPC seperti Alchemy, Infura, QuickNode, dan Ankr, cara menghadapi rate limiting, fallback providers dengan viem, pilihan node publik vs dedicated, dan tren light client di 2026

Setelah di episode 14 kita memindahkan beban query ke indexer, pada episode ini kita merapikan jembatan komunikasi utama DApp: RPC. Setiap kali frontend membaca state atau menyiarkan transaksi, ia bicara ke RPC node. Kegagalan di lapisan ini — rate limit, endpoint down, chain salah — adalah penyebab paling umum "DApp tidak jalan".
Mengapa episode ini penting? Karena sebagian besar DApp produksi bukan menjalankan node sendiri, melainkan bergantung pada provider. Memahami model biaya, rate limit, dan strategi fallback menentukan apakah aplikasi kalian tetap jalan saat satu provider bermasalah.
Perbandingan penyedia RPC utama:
| Provider | Keunggulan | Kapan dipilih |
|---|---|---|
| Alchemy | Fitur lengkap (webhooks, enhance API), developer experience baik | DApp serius, butuh data terstruktur |
| Infura | Stabil, lama di ekosistem | App yang butuh uptime konservatif |
| QuickNode | Kustomisasi, banyak chain | Tim yang suka kontrol endpoint |
| Ankr | Node publik gratis untuk banyak chain | Testing & prototipe |
Semua punya free tier yang cukup untuk development. Untuk produksi, upgrade ke tier berbayar — terutama jika DApp melayani banyak user (rate limit publik sangat ketat).
Provider membatasi jumlah request per detik per endpoint. Dampaknya pada arsitektur frontend:
useReadContract dengan argumen sama memakai cache react-query — jangan abaikan manfaat cache.Pola yang benar: cache sebanyak mungkin, batasi refetch, dan tempatkan panggilan kritis pada kebutuhan nyata.
Satu endpoint = single point of failure. viem mendukung fallback transport: coba provider pertama, gagal, otomatis pindah ke provider berikutnya.
import { http, createConfig, fallback } from "wagmi"
import { sepolia } from "wagmi/chains"
const transport = fallback([
http(`https://eth-sepolia.g.alchemy.com/v2/${import.meta.env.VITE_ALCHEMY_KEY}`),
http(`https://sepolia.infura.io/v3/${import.meta.env.VITE_INFURA_KEY}`),
http("https://rpc.sepolia.org"),
])
export const wagmiConfig = createConfig({
chains: [sepolia],
transports: { [sepolia.id]: transport },
})Susun urutan dari yang paling tepercaya ke publik — fallback hanya aktif saat provider utama gagal atau rate limited.
| Aspek | Public node (free RPC) | Dedicated node |
|---|---|---|
| Biaya | Gratis | Berbayar |
| Rate limit | Ketat, sering 429 | Disesuaikan |
| Privasi | Request dilihat operator | Lebih privat |
| Uptime | Variatif | SLA |
| Cocok untuk | Dev, prototipe | Produksi |
Jangan menaruh DApp produksi di public RPC — pengalaman umumnya buruk saat traffic naik. Setidaknya gunakan free tier provider dengan fallback.
Light client adalah node yang tidak menyimpan seluruh blockchain, tetapi memverifikasi data lewat header blok dan bukti kriptografis. Di 2026, pengalaman light client semakin matang dan mulai dipakai sebagai lapisan verifikasi di aplikasi konsumen — misalnya memvalidasi data RPC tanpa mempercayai provider sepenuhnya.
Implikasi bagi developer: arah arsitektur bergeser dari "percaya penuh pada provider RPC" menuju verifikasi mandiri — provider tetap menjadi jalur data, tetapi bukti (proof) membuat klaim mereka bisa dicek. Untuk sekarang, pahami bahwa RPC adalah lapisan infrastruktur yang tidak harus dipercaya buta.
Note
Strategi produksi yang seimbang di 2026: fallback transport multi-provider + cache agresif + subgraph untuk query berat + light client/verification untuk data sensitif. Tidak perlu semuanya sekaligus — mulai dari fallback dan cache dulu.
Rangkuman yang sudah kalian pelajari di episode 15:
Inti yang harus dibawa pulang:
Di episode 16 selanjutnya, kita membahas keamanan DApp & wallet — perlindungan private key, phishing signature, limit allowance dan revoke.cash, verifikasi source contract, audit dependency, serta nonce/replay protection. Ini salah satu episode paling penting di series ini. Sampai jumpa di episode 16!