ERC-1363: Standar Token dengan Callback

ERC-1363 adalah antarmuka token Ethereum yang memungkinkan token kompatibel ERC-20 memanggil kontrak penerima atau pembelanja segera setelah transfer atau persetujuan. Standar ini menambahkan transferAndCall, transferFromAndCall, dan approveAndCall, beserta antarmuka callback untuk kontrak yang menerima token atau hak belanja.

Cara kerjanya

Dalam alur ERC-20 biasa, transfer token dan tindakan aplikasi setelahnya umumnya merupakan pemanggilan terpisah. ERC-1363 menggabungkannya: kontrak token mengirim token lalu memanggil fungsi onTransferReceived milik penerima, atau membuat allowance lalu memanggil onApprovalReceived milik pembelanja. Callback dapat menerima operasi atau membatalkannya dengan revert. Argumen data opsional dapat membawa informasi tambahan ke kontrak penerima.

Implementasi ERC-1363 juga harus mendukung antarmuka ERC-20 dan ERC-165. Kontrak penerima harus secara eksplisit menerapkan callback yang sesuai agar dapat menerima interaksi tersebut.

Cakupan dan batasan

ERC-1363 adalah ekstensi opsional; standar ini tidak otomatis mengubah semua token ERC-20 menjadi token yang mendukung callback. Wallet dan aplikasi harus memakai token serta kontrak penerima yang kompatibel. Callback menjalankan kode kontrak eksternal, sehingga integrator tetap perlu memeriksa token dan melindungi logika mereka dari pemanggilan tidak aman serta reentrancy.

Standar ini juga tidak menghapus risiko allowance ERC-20. Mengganti persetujuan yang masih aktif secara langsung tetap dapat menimbulkan masalah urutan transaksi.

Mengapa penting

Antarmuka ini memungkinkan pembayaran memicu tindakan aplikasi dalam satu transaksi, misalnya mencatat pembayaran token atau memulai alur kerja kontrak. Hal itu dapat menyederhanakan integrasi, tetapi tidak berarti semua layanan menerima ERC-1363 atau pembayaran berbasis callback selalu lebih aman.

Riwayat

  • 2018 — ERC-1363 dibuat sebagai ekstensi antarmuka opsional yang dibangun di atas ERC-20 dan ERC-165.

Kesalahpahaman Umum

“Semua token ERC-20 mendukung transferAndCall.” ERC-1363 bersifat opsional. Token serta kontrak penerima atau pembelanja harus menerapkan antarmuka yang sesuai agar alur callback dapat berfungsi.

Kritik

  1. Callback menjalankan kode kontrak eksternal dalam transaksi yang sama. Karena itu, integrasi perlu memeriksa token dan melindungi diri dari pemanggilan yang tidak aman serta reentrancy.
  2. Ekstensi ini tidak menghapus risiko allowance yang diwarisi dari pola persetujuan ERC-20, dan dukungannya tidak universal.

Sentimen Media Sosial

Diskusi r/ethdev yang ditinjau berfokus pada detail implementasi, terutama alasan penerima harus mengembalikan selector callback yang diharapkan dan apa yang terjadi jika penerima tidak menerapkan antarmuka tersebut. Ini mencerminkan perdebatan praktis soal kompatibilitas dan keamanan: callback dapat membuat pembayaran lebih mudah diintegrasikan, tetapi kedua pihak harus menangani antarmukanya dengan benar.

Pembaruan terakhir: 2026-10

Istilah terkait

Lihat Juga

Sumber

  • Spesifikasi ERC-1363 — menjelaskan fungsi callback, persyaratan antarmuka, dan pertimbangan keamanan allowance.