Lompat ke konten utama
Change page

Pustaka API JavaScript

Pembaruan terakhir halaman: 25 Februari 2026

Agar aplikasi web dapat berinteraksi dengan blockchain Ethereum (yaitu, membaca data blockchain dan/atau mengirim transaksi ke jaringan), aplikasi tersebut harus terhubung ke node Ethereum.

Untuk tujuan ini, setiap klien Ethereum mengimplementasikan spesifikasi JSON-RPC, sehingga terdapat serangkaian metode seragam yang dapat diandalkan oleh aplikasi.

Jika Anda ingin menggunakan JavaScript untuk terhubung dengan node Ethereum, Anda dapat menggunakan JavaScript murni, tetapi ada beberapa pustaka praktis dalam ekosistem yang membuatnya jauh lebih mudah. Dengan pustaka ini, pengembang dapat menulis metode satu baris yang intuitif untuk menginisialisasi permintaan JSON-RPC (di balik layar) yang berinteraksi dengan Ethereum.

Harap perhatikan bahwa sejak The Merge, dua perangkat lunak Ethereum yang terhubung - klien eksekusi dan klien konsensus - diperlukan untuk menjalankan node. Pastikan node Anda mencakup klien eksekusi dan klien konsensus. Jika node Anda tidak berada di mesin lokal Anda (misalnya, node Anda berjalan di instans AWS), perbarui alamat IP dalam tutorial yang sesuai. Untuk informasi lebih lanjut, silakan lihat halaman kami tentang menjalankan node.

Prasyarat

Selain memahami JavaScript, mungkin akan membantu jika Anda memahami tumpukan Ethereum dan klien Ethereum.

Mengapa menggunakan pustaka?

Pustaka-pustaka ini mengabstraksi banyak kerumitan dalam berinteraksi langsung dengan node Ethereum. Mereka juga menyediakan fungsi utilitas (misalnya, mengonversi ETH ke Gwei) sehingga sebagai pengembang, Anda dapat menghabiskan lebih sedikit waktu untuk menangani kerumitan klien Ethereum dan lebih banyak waktu berfokus pada fungsionalitas unik aplikasi Anda.

Fitur pustaka

Terhubung ke node Ethereum

Dengan menggunakan penyedia (provider), pustaka-pustaka ini memungkinkan Anda untuk terhubung ke Ethereum dan membaca datanya, baik itu melalui JSON-RPC, INFURA, Etherscan, Alchemy, atau MetaMask.

Peringatan: Web3.js telah diarsipkan pada 4 Maret 2025. Baca pengumumannya (opens in a new tab). Pertimbangkan untuk menggunakan pustaka alternatif seperti ethers.js (opens in a new tab) atau viem (opens in a new tab) untuk proyek baru.

Contoh Ethers

// A BrowserProvider wraps a standard Web3 provider, which is // BrowserProvider membungkus penyedia Web3 standar, yaitu
// what MetaMask injects as window.ethereum into each page // apa yang disuntikkan MetaMask sebagai window.ethereum ke setiap halaman
const provider = new ethers.BrowserProvider(window.ethereum)

// The MetaMask plugin also allows signing transactions to // Plugin MetaMask juga memungkinkan penandatanganan transaksi untuk
// send ether and pay to change state within the blockchain. // mengirim ether dan membayar untuk mengubah status di dalam blockchain.
// For this, we need the account signer... // Untuk ini, kita memerlukan penandatangan akun...
const signer = provider.getSigner()

Contoh Web3js

Setelah disiapkan, Anda akan dapat meminta data (query) blockchain untuk:

  • nomor blok
  • perkiraan gas
  • peristiwa kontrak pintar
  • id jaringan
  • dan banyak lagi...

Fungsionalitas dompet

Pustaka-pustaka ini memberi Anda fungsionalitas untuk membuat dompet, mengelola kunci, dan menandatangani transaksi.

Berikut adalah contoh dari Ethers

Baca dokumentasi lengkapnya (opens in a new tab)

Setelah disiapkan, Anda akan dapat:

  • membuat akun
  • mengirim transaksi
  • menandatangani transaksi
  • dan banyak lagi...

Berinteraksi dengan fungsi kontrak pintar

Pustaka klien JavaScript memungkinkan aplikasi Anda untuk memanggil fungsi kontrak pintar dengan membaca Application Binary Interface (ABI) dari kontrak yang dikompilasi.

ABI pada dasarnya menjelaskan fungsi kontrak dalam format JSON dan memungkinkan Anda untuk menggunakannya seperti objek JavaScript biasa.

Jadi kontrak Solidity berikut:

Akan menghasilkan JSON berikut:

Ini berarti Anda dapat:

  • Mengirim transaksi ke kontrak pintar dan mengeksekusi metodenya
  • Memanggil untuk memperkirakan gas yang akan dibutuhkan oleh eksekusi metode saat dieksekusi di Mesin Virtual Ethereum
  • Menyebarkan kontrak
  • Dan banyak lagi...

Fungsi utilitas

Fungsi utilitas memberi Anda pintasan praktis yang membuat membangun dengan Ethereum menjadi sedikit lebih mudah.

Nilai ETH secara default berada dalam Wei. 1 ETH = 1.000.000.000.000.000.000 WEI – ini berarti Anda berurusan dengan banyak angka! web3.utils.toWei mengonversi ether ke Wei untuk Anda.

Dan di ethers terlihat seperti ini:

// Get the balance of an account (by address or ENS name) // Dapatkan saldo akun (berdasarkan alamat atau nama ENS)
balance = await provider.getBalance("ethers.eth")
// { BigNumber: "2337132817842795605" } // { BigNumber: "2337132817842795605" }

// Often you will need to format the output for the user // Seringkali Anda perlu memformat output untuk pengguna
// which prefer to see values in ether (instead of wei) // yang lebih suka melihat nilai dalam ether (bukan wei)
ethers.utils.formatEther(balance)
// '2.337132817842795605' // '2.337132817842795605'

Pustaka yang tersedia

Web3.js - API JavaScript Ethereum.

Ethers.js - Implementasi dompet Ethereum lengkap dan utilitas dalam JavaScript dan TypeScript.

The Graph - Protokol untuk mengindeks data Ethereum dan IPFS serta melakukan kueri menggunakan GraphQL.

Alchemy SDK - Pembungkus (wrapper) untuk Ethers.js dengan API yang ditingkatkan.

viem - Antarmuka TypeScript untuk Ethereum.

Codex - API data blockchain yang diperkaya dan real-time di puluhan rantai.

Drift - Meta-pustaka TypeScript dengan caching bawaan, hooks, dan mock pengujian.

Bacaan lebih lanjut

Tahu tentang sumber daya komunitas yang membantu Anda? Edit halaman ini dan tambahkan!

Tutorial: API JavaScript & WebSocket di Ethereum

  • Menggunakan WebSocket – Cara menggunakan WebSocket dengan Alchemy untuk berlangganan peristiwa Ethereum dan membuat permintaan JSON-RPC secara real-time.

Apakah artikel ini bermanfaat?