Skip to main content

Apa itu RPC

Catatan: Dokumen ini adalah terjemahan otomatis dari versi asli bahasa Inggris.

Apa itu RPC

RPC (Remote Procedure Call) adalah protokol komunikasi yang memungkinkan sebuah aplikasi meminta layanan dari program yang berjalan di komputer lain tanpa perlu memahami detail jaringan komputer tersebut. Dalam konteks blockchain, RPC adalah cara dompet, aplikasi terdesentralisasi, penjelajah blok, dan perangkat lunak lainnya berkomunikasi dengan node blockchain — mengirim transaksi, menanyakan saldo, membaca status kontrak pintar, dan mengambil data blok.

Singkatnya: RPC adalah antarmuka standar yang digunakan aplikasi untuk berbicara dengan node blockchain — inilah lapisan komunikasi yang menghubungkan dApp, dompet, dan perkakas ke jaringan blockchain itu sendiri.

Cara kerja RPC dalam blockchain

Setiap node blockchain mengekspos sebuah endpoint RPC — sebuah URL yang menerima permintaan terstruktur dan mengembalikan respons terstruktur. Ketika sebuah aplikasi perlu berinteraksi dengan blockchain, aplikasi mengirimkan permintaan RPC ke endpoint ini.

Pola permintaan-respons

Interaksi mengikuti pola klien-server standar:

  1. Permintaan. Aplikasi (klien) mengirimkan permintaan ke endpoint RPC node. Permintaan menentukan metode yang dipanggil dan menyediakan parameter yang diperlukan. Misalnya: "dapatkan saldo alamat 0x742d...bD38" atau "kirim transaksi bertanda tangan ini ke jaringan."
  2. Pemrosesan. Node menerima permintaan, melakukan operasi yang diminta — membaca dari salinan lokal blockchain-nya atau menyiarkan transaksi ke jaringan — dan menyiapkan respons.
  3. Respons. Node mengembalikan hasilnya ke aplikasi dalam format terstruktur (biasanya JSON).

JSON-RPC

Sebagian besar jaringan blockchain menggunakan JSON-RPC — protokol ringan di mana permintaan dan respons diformat sebagai objek JSON. Permintaan JSON-RPC umum mencakup nama metode (seperti eth_getBalance, eth_sendRawTransaction, atau eth_call) dan larik parameter. Responsnya berisi hasil atau pesan kesalahan.

Format terstandar ini berarti aplikasi apa pun yang memahami JSON-RPC dapat berinteraksi dengan node apa pun yang mengimplementasikan metode yang sama, terlepas dari bahasa pemrograman atau framework yang digunakan di kedua sisi.

Operasi RPC yang umum

Endpoint RPC blockchain biasanya mendukung operasi seperti:

  • Membaca status — menanyakan saldo akun, kepemilikan token, penyimpanan kontrak pintar, dan nomor blok saat ini.
  • Mengirim transaksi — menyiarkan transaksi bertanda tangan ke jaringan untuk dimasukkan ke dalam blok.
  • Memanggil kontrak pintar — mengeksekusi fungsi kontrak pintar hanya-baca tanpa membuat transaksi (tanpa biaya gas).
  • Berlangganan peristiwa — mendengarkan peristiwa on-chain tertentu seperti transfer token, penerapan kontrak, atau blok baru.
  • Mengambil riwayat — mengambil transaksi masa lalu, log, dan data blok.

Penyedia RPC

Menjalankan node blockchain penuh membutuhkan penyimpanan, bandwidth, dan pemeliharaan yang signifikan. Banyak pengembang dan aplikasi menggunakan penyedia RPC — layanan pihak ketiga yang mengoperasikan infrastruktur node dan mengekspos endpoint RPC untuk penggunaan publik atau berbayar. Penyedia ini menawarkan akses yang andal dan berketersediaan tinggi ke data blockchain tanpa mengharuskan setiap aplikasi menjalankan node sendiri.

Penyedia RPC populer melayani miliaran permintaan setiap hari di berbagai jaringan blockchain, berfungsi sebagai tulang punggung ekosistem dApp.

Mengapa hal ini penting untuk proyek kripto AI

RPC adalah lapisan komunikasi yang menjadi tumpuan setiap proyek AI berbasis blockchain, meskipun tidak selalu terlihat oleh pengguna akhir.

Berinteraksi dengan kontrak pintar. Proyek AI yang menerapkan kontrak pintar memerlukan RPC untuk membaca status kontrak, memicu fungsi, dan mengirimkan transaksi. Baik proyek itu mendistribusikan tugas komputasi, mencatat hasil inferensi, atau mengelola staking, setiap interaksi on-chain melewati endpoint RPC.

Penyerapan data. Sistem AI yang menganalisis aktivitas on-chain — pola perdagangan, perilaku dompet, metrik protokol — mengandalkan panggilan RPC untuk menyerap data blockchain. Kecepatan dan keandalan akses RPC secara langsung memengaruhi kualitas dan ketepatan waktu analitik AI.

Ketergantungan infrastruktur. Bagi proyek AI yang mengoperasikan jaringan node terdesentralisasi, lapisan RPC adalah cara pengguna eksternal mengakses layanan. Marketplace komputasi terdesentralisasi mengekspos endpoint RPC untuk pengiriman tugas; jaringan inferensi AI menggunakan RPC untuk penyampaian hasil. Keandalan endpoint ini menentukan pengalaman pengguna.

Di mana hal ini muncul dalam kartu proyek DecAIHub

RPC tidak dicantumkan sebagai bidang tersendiri dalam kartu proyek, tetapi menopang beberapa aspek arsitektur proyek:

  • Main chain — setiap main chain memiliki spesifikasi RPC-nya sendiri. Pilihan chain menentukan metode RPC apa yang tersedia dan bagaimana aplikasi berinteraksi dengan jaringan.
  • Type — proyek yang menyediakan infrastruktur RPC sebagai layanan (penyedia node, gateway API) dapat diklasifikasikan berdasarkan peran infrastrukturnya.
  • Interaksi dApp dan kontrak pintar — setiap proyek dengan kontrak pintar on-chain mengandalkan RPC untuk semua interaksi eksternal dengan kontrak tersebut.

Apa yang tidak dibuktikan oleh RPC semata

  • Desentralisasi — menggunakan penyedia RPC terpusat berarti aplikasi bergantung pada satu titik kegagalan. Jika penyedia mati atau menyensor permintaan, aplikasi kehilangan akses ke blockchain. Berjalan melalui gateway RPC terpusat tidak membuat aplikasi menjadi terdesentralisasi.
  • Keamanan — endpoint RPC bisa publik atau privat, dibatasi laju atau terbuka. Endpoint RPC publik tidak dengan sendirinya memberikan jaminan keamanan. Aplikasi yang mengirim transaksi sensitif harus memastikan bahwa mereka menggunakan endpoint tepercaya dan terautentikasi.
  • Eksekusi on-chain — mengirim permintaan RPC tidak berarti operasi terjadi on-chain. Panggilan hanya-baca (eth_call) dieksekusi secara lokal di node tanpa membuat transaksi. Hanya transaksi bertanda tangan yang dikirim melalui RPC yang benar-benar mengubah status blockchain.
  • Kinerja — waktu respons RPC bergantung pada perangkat keras node, kondisi jaringan, dan infrastruktur penyedia. Koneksi RPC yang lambat tidak menunjukkan blockchain yang lambat; bisa jadi itu menunjukkan node yang kelebihan beban atau berlokasi jauh secara geografis.

Jangan bingung dengan

  • API — RPC adalah salah satu jenis API, tetapi tidak semua API adalah RPC. REST API, endpoint GraphQL, dan antarmuka WebSocket adalah pola komunikasi alternatif. Dalam blockchain, "RPC" secara khusus merujuk pada antarmuka JSON-RPC yang diekspos oleh node.
  • Node — node adalah komputer aktual yang menjalankan perangkat lunak blockchain. RPC adalah antarmuka yang digunakan aplikasi eksternal untuk berkomunikasi dengan node tersebut. Node yang melakukan pekerjaannya; RPC adalah pintunya.
  • SDK / Pustaka — pustaka seperti Web3.js, Ethers.js, atau Web3.py menyederhanakan interaksi RPC dengan membungkus panggilan JSON-RPC mentah dalam fungsi yang ramah pengembang. Pustaka adalah lapisan kenyamanan; RPC adalah protokol yang mendasarinya.
  • Oracle — oracle membawa data off-chain ke blockchain. RPC adalah cara aplikasi membaca dan menulis data on-chain. Keduanya memiliki peran berbeda: oracle menjembatani data eksternal masuk, sedangkan RPC menyediakan akses ke data yang sudah berada on-chain.

Pertanyaan yang sering diajukan

Apakah saya perlu menjalankan node sendiri untuk menggunakan RPC?

Tidak. Sebagian besar pengembang dan aplikasi menggunakan penyedia RPC pihak ketiga yang mengoperasikan infrastruktur node sebagai layanan. Penyedia ini menawarkan endpoint RPC yang dapat diakses melalui koneksi HTTP atau WebSocket standar. Menjalankan node sendiri memberi Anda kendali penuh dan menghilangkan ketergantungan pada pihak ketiga, tetapi membutuhkan sumber daya yang signifikan. Untuk sebagian besar kasus penggunaan, penyedia RPC bereputasi baik sudah memadai.

Apa yang terjadi jika penyedia RPC mati?

Jika penyedia RPC yang digunakan aplikasi Anda mati, aplikasi kehilangan koneksinya ke blockchain. Aplikasi tidak dapat membaca status, mengirimkan transaksi, atau menerima notifikasi peristiwa sampai koneksi pulih atau aplikasi beralih ke endpoint alternatif. Karena alasan ini, aplikasi produksi sering mengonfigurasi beberapa endpoint RPC cadangan dari penyedia yang berbeda.

Apakah RPC sama dengan akses blockchain?

RPC adalah metode akses blockchain yang paling umum, tetapi bukan satu-satunya. Beberapa aplikasi menggunakan protokol alternatif seperti indexer berbasis GraphQL atau koneksi peer-to-peer langsung. Namun, JSON-RPC tetap menjadi antarmuka standar untuk interaksi blockchain secara umum, dan hampir setiap dompet, dApp, dan perkakas blockchain menggunakannya di balik layar.

Referensi eksternal

Lihat juga