Poin-Poin Penting
ERC-20 adalah standar teknis untuk membuat token fungible di blockchain Ethereum yang mendefinisikan enam fungsi wajib untuk memastikan semua token yang patuh bekerja dengan cara yang sama di berbagai dompet, bursa, dan aplikasi.
Token ERC-20 berada di dalam smart contract, bukan disimpan langsung oleh akun pengguna. Kontrak tersebut menyimpan daftar saldo dan memproses transfer saat pengguna mengirimkan transaksi.
Jenis token ERC-20 yang umum mencakup stablecoin, token utilitas, token tata kelola, dan token liquidity pool (LP) yang digunakan di berbagai protokol DeFi.
Mining token ERC-20 tidak dapat dilakukan. Token baru dicetak saat sebuah kontrak diterapkan, biasanya didistribusikan melalui acara seperti Penawaran Koin Perdana (ICO) atau Acara Pembuatan Token.
Pendahuluan
Ethereum didirikan oleh Vitalik Buterin pada tahun 2014 dengan memosisikan diri sebagai platform sumber terbuka untuk meluncurkan aplikasi terdesentralisasi (dApp). Motivasi Buterin untuk menciptakan blockchain baru utamanya berasal dari kurangnya fleksibilitas protokol Bitcoin.
Sejak diluncurkan, blockchain Ethereum telah menarik pengembang, bisnis, dan wirausahawan, membangun ekosistem smart contract dan aplikasi terdistribusi yang terus berkembang.
Artikel ini membahas standar ERC-20: kerangka penting untuk membuat token fungible di Ethereum. Meskipun dikembangkan khusus untuk jaringan Ethereum, kerangka ini juga menginspirasi standar token di blockchain lain, seperti BEP-20 di BNB Smart Chain.
Apa Itu Standar ERC-20?
Di Ethereum, ERC adalah Ethereum Request for Comments (Permintaan Komentar Ethereum). Dokumen teknis ini menguraikan standar untuk pemrograman di Ethereum. Jangan keliru dengan Proposal Penyempurnaan Ethereum (EIP)! Dokumen ini mengusulkan penyempurnaan pada protokol itu sendiri. Sebaliknya, ERC bertujuan menetapkan konvensi yang memudahkan aplikasi dan kontrak untuk saling berinteraksi.
ERC-20 ditulis oleh Vitalik Buterin dan Fabian Vogelsteller pada tahun 2015 untuk mengusulkan format yang relatif sederhana untuk token berbasis Ethereum. Dengan mengikuti kerangka tersebut, pengembang tidak perlu melakukan perombakan. Sebaliknya, mereka dapat membangun di atas fondasi yang sudah digunakan di seluruh industri.
Setelah token ERC-20 baru dibuat, token tersebut otomatis memiliki interoperabilitas dengan layanan dan perangkat lunak yang mendukung standar ERC-20, termasuk software wallet, hardware wallet, dan bursa.
Perlu diketahui bahwa ERC-20 kemudian diformalkan menjadi EIP (khususnya, EIP-20). Ini terjadi beberapa tahun setelah proposal awal karena adopsinya yang luas. Namun, nama "ERC-20" tetap menjadi rujukan yang umum.
Ringkasan Singkat tentang Token Ethereum
Tidak seperti ETH (mata uang kripto asli Ethereum), token ERC-20 tidak disimpan langsung oleh akun. Token hanya ada di dalam sebuah kontrak yang berfungsi seperti database mandiri. Kontrak tersebut menetapkan aturan untuk token (termasuk nama, simbol, dan keterbagian) serta menyimpan daftar yang memetakan saldo pengguna ke alamat Ethereum mereka.
Untuk memindahkan token, pengguna harus mengirim transaksi ke kontrak yang memintanya untuk mengalokasikan sebagian saldo mereka ke tempat lain. Misalnya, jika Alice ingin mengirim 5.000 token kepada Bob, dia harus memanggil fungsi di dalam smart contract token untuk melakukannya.
Panggilannya terdapat di dalam sesuatu yang tampak seperti transaksi Ethereum biasa yang membayar 0 ETH ke kontrak token. Panggilan tersebut disertakan dalam kolom tambahan di transaksi yang menentukan tindakan yang ingin dilakukan oleh Alice. Meskipun dia tidak mengirim ether, dia tetap harus membayar biaya transaksi dalam ETH agar transaksinya dimasukkan ke dalam sebuah blok. Jika tidak memiliki ETH, dia perlu memperolehnya terlebih dahulu sebelum dapat mentransfer token.
Bagaimana Cara Token ERC-20 Dibuat?
Agar patuh terhadap ERC-20, sebuah kontrak perlu menyertakan enam fungsi wajib: totalSupply, balanceOf, transfer, transferFrom, approve, dan allowance. Selain itu, Anda dapat menentukan fungsi opsional seperti name, symbol, dan decimal.
totalSupply
function totalSupply() public view returns (uint256)Saat dipanggil, fungsi ini mengembalikan total suplai token yang dimiliki kontrak.
balanceOf
function balanceOf(address _owner) public view returns (uint256 balance)Tidak seperti totalSupply, balanceOf menggunakan parameter (alamat). Saat dipanggil, fungsi ini mengembalikan saldo token dari alamat tersebut. Karena akun di Ethereum bersifat publik, Anda dapat menanyakan saldo pengguna mana pun asalkan Anda mengetahui alamatnya.
transfer
function transfer(address to, uint256 value) public returns (bool success)transfer memindahkan token dari satu pengguna ke pengguna lain. Anda memberikan alamat tujuan dan jumlah yang akan ditransfer. Saat dipanggil, transfer memicu event Transfer, yang memberi tahu blockchain untuk menyertakan referensi ke transaksi tersebut.
transferFrom
function transferFrom(address from, address to, uint256 _value) public returns (bool success)transferFrom adalah alternatif yang berguna untuk transfer yang memungkinkan lebih banyak kemampuan pemrograman dalam aplikasi terdesentralisasi. Sama seperti transfer, fungsi ini memindahkan token, tetapi token tersebut tidak harus dimiliki oleh orang yang memanggil kontrak. Dengan kata lain, Anda dapat mengotorisasi alamat lain (atau kontrak) untuk mentransfer dana atas nama Anda. Kasus penggunaan yang umum melibatkan layanan berbasis langganan, ketika sebuah program menangani pembayaran berulang secara otomatis alih-alih memerlukan transaksi manual setiap kali.
approve
function approve(address spender, uint256 value) public returns (bool success)approve memungkinkan Anda untuk membatasi jumlah token yang dapat ditarik smart contract dari saldo Anda. Tanpanya, kontrak yang tidak berfungsi dengan baik atau dieksploitasi dapat menguras seluruh saldo Anda. Misalnya, jika biaya langganan adalah satu token per minggu dan Anda menyetujui batas dua puluh token, DApp dapat memproses hingga 20 minggu pembayaran. Jika DApp mencoba menarik lebih banyak, atau jika ditemukan bug, potensi kerugian Anda dibatasi pada jumlah yang disetujui.
allowance
function allowance(address owner, address spender) public view returns (uint256 remaining)allowance digunakan bersama approve. Setelah Anda memberikan izin kepada kontrak untuk mengelola token, Anda dapat menggunakan allowance untuk memeriksa berapa banyak yang masih dapat ditarik. Misalnya, jika langganan telah menggunakan dua belas dari dua puluh token yang Anda setujui, memanggil allowance akan mengembalikan delapan.
Fungsi opsional
Fungsi di atas bersifat wajib. Di sisi lain, name, symbol, dan decimal bersifat opsional, tetapi membuat kontrak ERC-20 Anda lebih ramah pengguna. Secara berurutan, fungsi tersebut memungkinkan Anda menambahkan nama yang mudah dibaca manusia, menetapkan ticker simbol, dan menentukan banyaknya angka desimal token untuk pembagian yang dimungkinkan. Token yang digunakan sebagai mata uang dapat memperoleh manfaat dari tingkat keterbagian yang lebih tinggi dibandingkan token yang merepresentasikan kepemilikan aset fisik.
Apa Kegunaan Token ERC-20?
Sebagian besar daya tarik token ERC-20 adalah fleksibilitasnya. Standar ini menetapkan konvensi tanpa membatasi pengembangan, sehingga proyek dapat mengimplementasikan fitur tambahan dan menetapkan parameter tertentu sesuai kebutuhan mereka. Pada tahun 2025, token ERC-20 mendukung beberapa kategori aplikasi keuangan terdesentralisasi (DeFi) , mulai dari protokol pemberian dan pengambilan pinjaman hingga bursa terdesentralisasi dan platform yield farming.
Stablecoin
Stablecoin (token yang dipatok ke mata uang fiat) sering menggunakan standar ERC-20. Untuk stablecoin yang didukung fiat pada umumnya, penerbit menyimpan cadangan dolar, euro, atau mata uang lainnya. Untuk setiap unit dalam cadangan mereka, penerbit menerbitkan token yang sesuai. Jika $10.000 disimpan sebagai cadangan, penerbit dapat membuat 10.000 token, masing-masing dapat ditebus menjadi $1. Pengguna dapat membelanjakan token ini untuk barang dan jasa, menggunakannya di DApp, atau menebusnya kepada penerbit. Saat ditebus, penerbit membakar token yang dikembalikan (sehingga menjadi tidak dapat digunakan secara permanen) dan melepaskan fiat yang setara dari cadangan.
Token tata kelola
Token tata kelola memberikan hak voting kepada pemiliknya terhadap keputusan protokol, seperti struktur biaya, peningkatan, atau alokasi perbendaharaan. Token ini digunakan secara luas di seluruh protokol DeFi dan organisasi otonom terdesentralisasi (DAO). Transferabilitas dan antarmuka standar ERC-20 membuat token tata kelola mudah diintegrasikan dengan sistem voting on-chain.
Token pool likuiditas (LP)
Saat pengguna menyetor aset ke dalam pool likuiditas DeFi, mereka menerima token LP yang merepresentasikan porsi mereka dalam pool. Token ERC-20 ini dapat ditebus untuk aset dasar ditambah biaya yang terakumulasi. Token LP adalah salah satu jenis token ERC-20 yang paling umum digunakan secara aktif di seluruh DeFi per tahun 2025.
Token sekuritas
Token sekuritas mirip dengan stablecoin pada level kontrak. Perbedaannya muncul pada level penerbit: token sekuritas merepresentasikan sekuritas seperti saham, obligasi, atau aset fisik, dan sering kali memberikan pemiliknya kepemilikan dalam suatu bisnis atau aset. Standar yang lebih baru seperti ERC-1400 dan ERC-3643 dibangun di atas ERC-20 untuk menambahkan fitur kepatuhan yang diperlukan untuk sekuritas yang diatur.
Token utilitas
Token utilitas adalah salah satu jenis token yang paling umum. Tidak seperti token yang didukung aset, token ini tidak didukung oleh aset eksternal apa pun. Token ini dapat berfungsi sebagai mata uang dalam game, bahan bakar untuk aplikasi terdesentralisasi, poin loyalitas, atau akses pass untuk layanan tertentu.
Apakah Anda Dapat Melakukan Mining Token ERC-20?
Anda bisa mendapatkan ether (ETH) melalui staking, tetapi mining token ERC-20 tidak dapat dilakukan. Kami menyebutnya dicetak saat token baru dibuat. Ketika sebuah kontrak di-deploy, developer mendistribusikan suplai awal sesuai rencana dan roadmap mereka. Hal ini biasanya dilakukan melalui Penawaran Koin Perdana (ICO), Penawaran Bursa Perdana (IEO), atau Penawaran Token Sekuritas (STO). Investor mengirim ether ke alamat kontrak dan menerima token baru sebagai imbalan. Hasilnya umumnya digunakan untuk mendanai pengembangan lebih lanjut.
Distribusi token tidak perlu diotomatisasi. Banyak acara urun dana menerima berbagai mata uang digital, lalu saldo token dialokasikan ke alamat yang diberikan oleh peserta.
Kelebihan dan Kekurangan Token ERC-20
Kelebihan
Fungible: Token ERC-20 bersifat fungible, artinya setiap unit dapat dipertukarkan dengan unit lainnya. Hal ini ideal untuk mata uang, stablecoin, dan token tata kelola ketika unit individual tidak seharusnya memiliki karakteristik pembeda.
Fleksibel: Token ERC-20 sangat dapat dikustomisasi dan dapat disesuaikan untuk berbagai aplikasi, mulai dari mata uang dalam game dan program loyalitas hingga instrumen DeFi dan representasi aset dunia nyata (RWA).
Kompatibel: Adopsi ERC-20 yang luas berarti sebagian besar aplikasi dompet kripto , bursa, dan smart contract sudah kompatibel dengan token yang baru diluncurkan. Dokumentasi developer dan tooling tersedia secara luas.
Kekurangan
Skalabilitas: Lapisan dasar Ethereum memproses jumlah transaksi per detik yang terbatas, dan kemacetan dapat menyebabkan biaya tinggi serta penundaan. Solusi Lapisan 2 seperti Arbitrum, Optimism, dan zkSync telah mengatasi sebagian besar hal ini dengan memproses transaksi secara off-chain sambil melakukan penyelesaian di Ethereum, tetapi penambahan Lapisan 2 menghadirkan kompleksitas tambahan bagi penerbit token dan pengguna.
Penipuan: Kemudahan meluncurkan token ERC-20 adalah sebuah keunggulan bermata dua. Upaya teknis yang dibutuhkan minimal, sehingga proyek penipuan dapat menerbitkan token semudah proyek yang sah. Selalu lakukan riset sendiri (DYOR) sebelum berpartisipasi dalam penawaran token apa pun agar Anda dapat menarik kesimpulan sendiri tentang apakah suatu peluang itu sah.
ERC-20, ERC-721, ERC-1155, dan ERC-404: Apa Bedanya?
ERC-20 adalah standar token Ethereum pertama dan tetap menjadi yang paling banyak digunakan. Sejak itu, beberapa standar lain telah muncul, baik yang mengusulkan peningkatan maupun yang menangani use case yang berbeda.
ERC-721 adalah standar untuk non-fungible token (NFT): setiap token memiliki pengenal unik sehingga tidak dapat dipertukarkan dengan token lainnya. ERC-721 mendukung seni digital, barang koleksi, dan item dalam game ketika keunikan tiap item menjadi hal yang penting.
ERC-1155 mendukung token fungible dan non-fungible dalam kontrak yang sama. Satu kontrak ERC-1155 dapat mengelola beberapa jenis token secara bersamaan, sehingga efisien untuk aplikasi game yang melibatkan mata uang dan item unik.
ERC-404, yang dihadirkan secara eksperimental pada awal tahun 2024, berupaya untuk menggabungkan kemampuan transfer fraksional ERC-20 dengan keunikan ERC-721 untuk menciptakan token "semi-fungible". Standar ini belum diadopsi secara resmi sebagai EIP dan belum memiliki dukungan ekosistem yang luas, tetapi menunjukkan bagaimana kerangka ERC-20 terus menginspirasi pendekatan baru.
Standar lain seperti ERC-223 bertujuan menambahkan perlindungan untuk mencegah transfer token yang tidak disengaja, sehingga mengatasi keterbatasan yang diketahui dalam desain ERC-20 asli.
FAQ
Apa itu token ERC-20?
Token ERC-20 adalah token fungible yang dibuat pada blockchain Ethereum dan mengikuti standar teknis ERC-20. Standar ini mendefinisikan enam fungsi wajib yang memastikan semua token yang patuh berperilaku konsisten di seluruh dompet, bursa, dan aplikasi terdesentralisasi.
Apa perbedaan ERC-20 dengan ERC-721?
Token ERC-20 bersifat fungible: setiap unit identik dan dapat dipertukarkan, sehingga standar ini cocok untuk mata uang, stablecoin, dan token tata kelola. Token ERC-721 bersifat non-fungible: masing-masing memiliki pengenal unik, sehingga cocok untuk seni digital, koleksi, dan item dalam game yang membutuhkan keunikan setiap item.
Apakah mining token ERC-20 dapat dilakukan?
Tidak. Token ERC-20 dicetak (dibuat) saat smart contract diterapkan, bukan dengan mining. Total suplai dan distribusi awal ditetapkan oleh pengembang kontrak. Token baru biasanya didistribusikan melalui mekanisme seperti ICO, IEO, atau program mining likuiditas.
Mengapa transaksi ERC-20 memerlukan ETH?
Transfer ERC-20 adalah operasi yang dilakukan di jaringan Ethereum. Semua operasi di Ethereum memerlukan biaya transaksi (disebut gas) yang dibayar dalam ETH. Meskipun Anda mentransfer ETH sebesar nol, Anda tetap memerlukan ETH di dompet Anda untuk menanggung biaya gas saat memanggil kontrak token.
Apa kegunaan fungsi approve di ERC-20?
Fungsi approve memungkinkan pemilik token menetapkan batas pengeluaran untuk alamat atau smart contract tertentu. Hal ini umum digunakan di DeFi: alih-alih mengizinkan protokol memiliki akses tak terbatas ke token Anda, Anda dapat membatasi jumlah yang dapat ditarik. Jika ditemukan bug atau kontrak berperilaku tidak semestinya, potensi kerugian Anda terbatas pada jumlah yang disetujui.
Penutup
Standar ERC-20 tetap menjadi kerangka yang dominan untuk token fungible di Ethereum sejak dihadirkan. Kesederhanaannya, kompatibilitas yang luas, dan desain yang fleksibel telah menjadikannya fondasi bagi stablecoin, token tata kelola, instrumen DeFi, dan tak terhitung token utilitas.
Tantangan skalabilitas pada lapisan dasar Ethereum sebagian besar telah diatasi oleh pertumbuhan jaringan Lapisan 2 yang kini memproses sebagian besar aktivitas DeFi baru. Sementara itu, standar token yang lebih baru berkembang ke use case yang lebih terspesialisasi. ERC-20 sendiri tidak berubah, yang merupakan bagian dari daya tahannya: standar yang sederhana dan dapat diaudit serta bekerja andal di seluruh ekosistem Ethereum.
Bacaan Lebih Lanjut
Penafian: Konten ini disajikan kepada Anda dengan dasar “sebagaimana adanya” hanya sebagai informasi umum dan edukasi tanpa pernyataan atau jaminan dalam bentuk apa pun. Konten ini tidak boleh dianggap sebagai nasihat keuangan, hukum, atau profesional lainnya ataupun dimaksudkan untuk merekomendasikan pembelian produk atau jasa tertentu. Anda sebaiknya mencari nasihat dari penasihat profesional yang sesuai. Produk yang disebutkan dalam artikel ini mungkin tidak tersedia di wilayah Anda. Jika suatu artikel merupakan kontribusi dari kontributor pihak ketiga, harap diperhatikan bahwa pandangan yang dinyatakan merupakan milik kontributor pihak ketiga tersebut dan tidak mencerminkan pandangan Binance Academy. Harga aset digital dapat menjadi volatil. Nilai investasi Anda mungkin turun atau naik. Anda mungkin tidak mendapatkan kembali jumlah yang sudah diinvestasikan. Anda bertanggung jawab sepenuhnya terhadap keputusan investasi Anda. Binance Academy tidak bertanggung jawab terhadap segala kerugian yang mungkin Anda alami. Untuk mengetahui informasi selengkapnya, lihat Ketentuan Penggunaan, Peringatan Risiko, dan Ketentuan Binance Academy.