Beli Kripto
Pasar
Spot
Futures OILBTC
Tabungan
Pusat Acara
Hub Hadiah
Lainnya
Fest. 0-Biaya
ERC-1155: Apa Itu ERC-1155?ERC-1155 adalah standar token Ethereum yang memungkinkan satu smart contract mengelola banyak jenis token yang berbeda.Satu kontrak ERC-1155 dapat memuat token fungibel, token nonfungERC-1155: Apa Itu ERC-1155?ERC-1155 adalah standar token Ethereum yang memungkinkan satu smart contract mengelola banyak jenis token yang berbeda.Satu kontrak ERC-1155 dapat memuat token fungibel, token nonfung

ERC-1155

2026/10/13 16:21
#Intermediate
Humanity
H$0.05533-8.16%
PX
PX$0.0126-4.54%
TokenFi
TOKEN$0.002018-4.36%
Smart Blockchain
SMART$0.004423-0.51%
STANDARD
STANDARD$0.3078+43.36%

Apa Itu ERC-1155?

ERC-1155 adalah standar token Ethereum yang memungkinkan satu smart contract mengelola banyak jenis token yang berbeda.

Satu kontrak ERC-1155 dapat memuat token fungibel, token nonfungibel, token semi-fungibel, atau kombinasi aset-aset tersebut.

Spesifikasi ERC-1155 resmi menetapkan aturan umum untuk saldo, transfer, operasi batch, persetujuan, callback penerima, event, metadata, dan deteksi antarmuka.

ERC-1155 umum disebut Multi-Token Standard.

Setiap jenis token diidentifikasi melalui ID token dan dapat memiliki suplai, metadata, tujuan, kelangkaan, serta karakteristik ekonominya sendiri.

Desain ini mengurangi kebutuhan untuk men-deploy smart contract terpisah bagi setiap aset dalam aplikasi kripto berskala besar.

ERC-1155 sangat berguna untuk game blockchain, koleksi digital, keanggotaan, tiket acara, sistem reward, inventaris tokenisasi, dan aplikasi yang mengelola beberapa aset terkait.

Mengikuti standar ini meningkatkan interoperabilitas, tetapi tidak menjamin bahwa token autentik, bernilai, langka, atau aman.

Mengapa ERC-1155 Dibuat?

Standar token Ethereum sebelumnya umumnya berfokus pada satu aset fungibel atau satu koleksi aset unik.

Karena itu, proyek yang memiliki ratusan mata uang, item game, tiket, dan koleksi mungkin membutuhkan banyak kontrak terpisah.

Setiap kontrak tambahan menimbulkan biaya deployment, pengulangan kode, pekerjaan administrasi, dan kompleksitas integrasi.

ERC-1155 memungkinkan jenis token tersebut menggunakan satu kontrak dan satu sistem transfer bersama.

Standar ini juga mendukung operasi batch untuk memeriksa atau mentransfer beberapa ID token dalam satu pemanggilan.

Batching dapat mengurangi overhead transaksi berulang dan menyederhanakan interaksi yang melibatkan banyak aset.

Standar ini dirancang untuk sistem token berskala besar, tetapi tidak terbatas pada game blockchain.

Cara Kerja ERC-1155

Kontrak ERC-1155 mencatat saldo terpisah untuk setiap kombinasi alamat akun dan ID token.

Misalnya, satu wallet dapat memiliki 500 unit token ID 1, tiga unit token ID 2, dan satu unit token ID 3.

Token ID 1 dapat merepresentasikan mata uang fungibel, token ID 2 dapat merepresentasikan item edisi terbatas, dan token ID 3 dapat merepresentasikan NFT unik.

Ketiga saldo tersebut dapat berada dalam smart contract yang sama.

Saat token ditransfer, kontrak mengurangi saldo pengirim dan menambah saldo penerima untuk ID token yang dipilih.

Kontrak mengeluarkan event standar agar wallet dan indexer blockchain dapat melihat perubahan tersebut.

Jika penerima adalah smart contract, ERC-1155 menjalankan callback penerima untuk memastikan kontrak tersebut menerima token.

Apa Itu ID Token ERC-1155?

ID token adalah bilangan bulat tak bertanda yang mengidentifikasi satu jenis token di dalam kontrak ERC-1155.

ID token yang sama dapat muncul di kontrak lain tanpa merepresentasikan aset kripto yang sama.

Karena itu, aset ERC-1155 diidentifikasi melalui kombinasi jaringan blockchain, alamat kontrak, dan ID token.

Token ID 100 dalam satu kontrak dapat merepresentasikan sumber daya game, sedangkan token ID 100 dalam kontrak lain dapat merepresentasikan tiket acara.

Standar ini tidak mewajibkan ID token dimulai dari nol atau bertambah dalam urutan sederhana.

Developer dapat menetapkan ID sesuai desain aplikasinya.

Pengguna sebaiknya memverifikasi alamat kontrak lengkap dan ID token, bukan hanya mengandalkan nama atau gambar yang ditampilkan.

Token ERC-1155 Fungibel

ID token dapat berfungsi sebagai aset fungibel jika terdapat banyak unit ID tersebut yang dapat dipertukarkan.

Misalnya, sebuah game dapat menerbitkan satu juta unit token ID 10 sebagai mata uang dalam game.

Setiap pemegang akan memiliki saldo kuantitas yang terkait dengan token ID 10.

Unit dengan ID yang sama biasanya memiliki properti yang sama sesuai definisi kontrak.

Antarmuka inti ERC-1155 tidak menetapkan simbol, nilai desimal, atau nama terpisah untuk setiap ID token.

Jika diperlukan, proyek harus menyediakan informasi tampilan tersebut melalui metadata atau fungsi khusus.

Token ERC-1155 Nonfungibel

ID token dapat berfungsi sebagai NFT jika suplainya dibatasi menjadi satu unit.

Alamat yang memiliki unit tersebut pada dasarnya memiliki aset unik yang direpresentasikan oleh ID itu.

ID lain dalam kontrak yang sama dapat merepresentasikan item unik yang berbeda.

Tidak seperti ERC-721, ERC-1155 tidak otomatis mewajibkan setiap ID token memiliki suplai satu.

Logika minting kontrak harus menegakkan keunikan jika ID token dijelaskan sebagai nonfungibel.

Pengguna sebaiknya memverifikasi kontrol suplai yang sebenarnya sebelum memercayai klaim bahwa item ERC-1155 bersifat unik.

Token ERC-1155 Semi-Fungibel

Token semi-fungibel memiliki beberapa unit yang dapat dipertukarkan selama satu tahap siklus hidupnya, tetapi kemudian dapat memiliki makna atau utilitas yang berbeda.

Tiket acara merupakan contoh umum karena beberapa tiket untuk bagian yang sama dapat dipertukarkan sebelum acara.

Setelah acara, setiap tiket yang telah digunakan dapat menjadi koleksi yang terhubung dengan pengalaman tertentu.

Item game edisi terbatas juga dapat menggunakan model semi-fungibel.

ERC-1155 tidak secara formal menetapkan label fungibel, nonfungibel, atau semi-fungibel untuk suatu ID token.

Klasifikasinya bergantung pada suplai, metadata, aturan transfer, dan perilaku aplikasi.

Fungsi Inti ERC-1155

Antarmuka inti ERC-1155 mencakup fungsi untuk memeriksa saldo, mentransfer token, dan mengelola izin operator.

Fungsi utamanya adalah

balanceOf
,
balanceOfBatch
,
safeTransferFrom
,
safeBatchTransferFrom
,
setApprovalForAll
, dan
isApprovedForAll
.

ERC-1155 juga mewajibkan dukungan untuk deteksi antarmuka ERC-165.

Antarmuka inti tidak menetapkan minting publik, burning publik, royalti, suplai total, desimal token, atau persetujuan token individual.

Kontrak dapat menambahkan fitur tersebut melalui ekstensi opsional atau logika khusus.

Fungsi balanceOf

Fungsi

balanceOf
mengembalikan jumlah satu ID token yang dimiliki satu akun.

Fungsi ini memerlukan alamat akun dan ID token.

Hal ini berbeda dari ERC-20 karena satu kontrak ERC-20 biasanya hanya merepresentasikan satu jenis token.

Hal ini juga berbeda dari ERC-721 karena saldo ERC-721 menghitung jumlah NFT unik yang dimiliki sebuah alamat dalam suatu koleksi.

Saldo ERC-1155 untuk satu ID dapat bernilai nol, satu, atau bilangan bulat yang lebih besar.

Standar ini mewajibkan kueri saldo untuk alamat nol agar gagal.

Fungsi balanceOfBatch

Fungsi

balanceOfBatch
mengambil beberapa saldo dalam satu pemanggilan.

Pemanggil memberikan array alamat akun dan array ID token.

Setiap akun dipasangkan dengan ID token pada posisi array yang sama.

Kedua array harus memiliki panjang yang sama.

Fungsi ini dapat memeriksa beberapa ID token untuk satu akun atau satu ID token untuk beberapa akun.

Fungsi ini mengurangi jumlah pemanggilan blockchain terpisah yang diperlukan oleh wallet, game, dan aplikasi portofolio.

Fungsi safeTransferFrom

Fungsi

safeTransferFrom
mentransfer sejumlah token dari satu ID token dari satu alamat ke alamat lain.

Pemanggil harus merupakan pemegang token atau operator yang disetujui oleh pemegang tersebut.

Pengirim harus memiliki cukup unit dari ID yang dipilih.

Penerima tidak boleh berupa alamat nol.

Fungsi ini juga menerima kolom bytes yang dapat berisi data khusus aplikasi.

Transfer tunggal yang berhasil mengeluarkan event

TransferSingle
.

Jika penerima adalah smart contract, penerima harus lolos pemeriksaan penerimaan ERC-1155 yang diwajibkan.

Fungsi safeBatchTransferFrom

Fungsi

safeBatchTransferFrom
mentransfer beberapa ID token dan jumlahnya dalam satu transaksi.

Pemanggil memberikan array ID token dan array jumlah transfer yang sesuai.

Setiap jumlah berlaku untuk ID pada posisi array yang sama.

Kedua array harus memiliki panjang yang sama.

Pengirim harus memiliki cukup unit untuk setiap token dalam batch.

Jika salah satu transfer yang diperlukan gagal, seluruh transaksi biasanya dibatalkan.

Operasi yang berhasil mengeluarkan satu event

TransferBatch
.

Manfaat Transfer Batch

Transfer batch dapat mengurangi biaya transaksi saat beberapa aset terkait perlu dipindahkan bersama.

Pemain dapat mentransfer mata uang, material, perlengkapan, dan koleksi dalam satu transaksi.

Kontrak reward dapat mendistribusikan beberapa jenis token kepada satu penerima dalam satu operasi.

Batching juga dapat menyederhanakan pertukaran atomik karena seluruh kelompok aset berpindah atau transaksi gagal.

Besarnya penghematan gas bergantung pada jumlah ID, perubahan penyimpanan, logika penerima, dan kondisi jaringan.

Batch yang sangat besar tetap dapat melampaui batas gas transaksi atau menimbulkan risiko denial-of-service.

Aplikasi sebaiknya menetapkan batas praktis untuk ukuran batch yang dikendalikan pengguna.

Persetujuan Operator ERC-1155

ERC-1155 menggunakan persetujuan operator untuk seluruh koleksi.

Fungsi

setApprovalForAll
memungkinkan pemegang token mengizinkan atau mencabut izin operator.

Operator yang disetujui dapat mentransfer setiap ID token ERC-1155 yang dimiliki pemegang dalam kontrak tersebut.

Izin ini juga dapat mencakup token yang diterima pemegang dari kontrak yang sama di kemudian hari.

Standar inti tidak memungkinkan pengguna menyetujui hanya satu ID atau jumlah terbatas.

Izin luas ini dapat meningkatkan kemudahan penggunaan, tetapi menimbulkan risiko keamanan yang signifikan.

Operator berbahaya dapat mengambil semua token terkait selama persetujuan masih aktif.

Fungsi isApprovedForAll

Fungsi

isApprovedForAll
menunjukkan apakah operator memiliki wewenang atas saldo ERC-1155 milik suatu pemilik.

Fungsi ini mengembalikan

true
atau
false
.

Persetujuan hanya berlaku di dalam kontrak tempat persetujuan itu diberikan.

Persetujuan tidak otomatis mencakup aset dalam kontrak ERC-1155 lain atau token yang menggunakan standar lain.

Pengguna sebaiknya meninjau persetujuan operator secara berkala dan mencabut izin yang tidak lagi diperlukan.

Memutuskan koneksi wallet dari situs web tidak menghapus persetujuan yang tersimpan di blockchain.

Ekstensi Persetujuan Terperinci

Model operator yang luas mungkin tidak sesuai jika pemegang hanya ingin memberikan izin untuk satu ID token atau jumlah terbatas.

Ekstensi allowance ERC-5216 yang diusulkan menetapkan persetujuan yang lebih terperinci berdasarkan ID token dan jumlah.

Ekstensi ini bukan bagian dari standar inti ERC-1155 dan tidak boleh diasumsikan tersedia di setiap kontrak.

Wallet sebaiknya menjelaskan dengan jelas apakah transaksi memberikan wewenang untuk seluruh koleksi atau izin terbatas.

Callback Penerima ERC-1155

Smart contract yang menerima token ERC-1155 melalui transfer aman standar harus mengimplementasikan callback penerima yang benar.

Callback untuk transfer tunggal adalah

onERC1155Received
.

Callback untuk transfer batch adalah

onERC1155BatchReceived
.

Penerima dapat memeriksa operator, pemegang sebelumnya, ID token, jumlah, dan data yang dilampirkan.

Penerima menerima token dengan mengembalikan nilai yang diwajibkan.

Jika penerima mengembalikan nilai yang salah atau membatalkan transaksi, seluruh transfer token akan dibatalkan.

Desain ini mengurangi risiko transfer tidak sengaja ke smart contract yang tidak dapat memproses aset ERC-1155.

ID Antarmuka Penerima dan Nilai Pengembalian

ID antarmuka penerima ERC-1155 adalah

0x4e2312e0
.

Nilai pengembalian yang diharapkan untuk

onERC1155Received
adalah
0xf23a6e61
.

Nilai pengembalian yang diharapkan untuk

onERC1155BatchReceived
adalah
0xbc197c81
.

Kontrak penerima sebaiknya memverifikasi kontrak ERC-1155 yang memicu callback.

Menerima data callback tanpa memeriksa pemanggil dapat memungkinkan kontrak berbahaya membuat catatan deposit palsu.

Lolos pemeriksaan penerima tidak menjamin bahwa kontrak penerima memiliki proses penarikan yang aman di kemudian hari.

Callback Penerima dan Reentrancy

Callback penerima ERC-1155 menjalankan kode kontrak eksternal sebelum transaksi awal selesai.

Penerima berbahaya dapat memanggil fungsi lain selama transfer awal masih berlangsung.

Perilaku ini membuka kemungkinan terjadinya reentrancy.

Spesifikasi ERC-1155 mewajibkan perubahan saldo dan event transfer dilakukan sebelum callback penerima.

Aplikasi yang berinteraksi dengan token tetap harus melindungi logika akuntansi dan otorisasinya sendiri.

Developer sebaiknya menguji kedua callback menggunakan kontrak penerima berbahaya yang mencoba reentrancy pada fungsi yang sama maupun lintas fungsi.

Dokumentasi implementasi ERC-1155 terkini juga memperingatkan bahwa transfer ke kontrak dapat menimbulkan risiko reentrancy.

Event ERC-1155

Standar inti menetapkan event

TransferSingle
,
TransferBatch
,
ApprovalForAll
, dan
URI
.

Log event ini memungkinkan wallet, blockchain explorer, dan indexer melacak aktivitas token.

ERC-1155 dirancang agar riwayat suplai dan saldo dapat disusun kembali dari event transfer yang dikeluarkan dengan benar.

Setiap event harus ditafsirkan bersama alamat kontrak yang mengeluarkannya.

Kontrak berbahaya dapat mengeluarkan event dengan nama yang dikenal tanpa merepresentasikan proyek autentik.

Event TransferSingle

Event

TransferSingle
mencatat operator, pengirim, penerima, ID token, dan jumlah.

Transfer biasa mencantumkan alamat pengirim dan penerima yang bukan alamat nol.

Minting menggunakan alamat nol sebagai pengirim.

Burning menggunakan alamat nol sebagai penerima.

Standar ini juga mewajibkan transfer bernilai nol mengeluarkan event yang sesuai.

Event TransferBatch

Event

TransferBatch
mencatat beberapa ID token dan jumlah yang ditransfer dalam satu operasi.

ID dan nilai disimpan pada posisi array yang bersesuaian.

Event ini juga mengidentifikasi operator, pengirim, dan penerima.

Minting batch menggunakan alamat nol sebagai pengirim.

Burning batch menggunakan alamat nol sebagai penerima.

Indexer harus memproses setiap elemen dalam array event untuk menghitung saldo dan suplai secara akurat.

Event ApprovalForAll

Event

ApprovalForAll
mencatat apakah pemilik mengaktifkan atau menonaktifkan operator.

Event ini memuat pemilik, operator, dan status persetujuan.

Event ini tidak dengan sendirinya mentransfer token.

Event ini mengubah apakah operator dapat memulai transfer berikutnya dari pemilik.

Mencabut persetujuan tidak membatalkan transfer yang telah diselesaikan saat otorisasi masih aktif.

Deteksi Antarmuka ERC-165

ERC-1155 mewajibkan deteksi antarmuka ERC-165.

ID antarmuka inti ERC-1155 adalah

0xd9b67a26
.

Kontrak yang kompatibel seharusnya mengembalikan

true
saat
supportsInterface
dipanggil dengan pengenal tersebut.

Standar ERC-165 memberi kontrak metode umum untuk mengumumkan antarmuka yang didukung.

Deteksi antarmuka membantu aplikasi menghindari pemanggilan fungsi yang tidak didukung.

Hasil positif tidak dengan sendirinya membuktikan bahwa setiap fungsi diimplementasikan secara benar atau aman.

Metadata ERC-1155

ERC-1155 mencakup ekstensi URI metadata opsional.

Ekstensi ini menambahkan fungsi

uri
yang mengembalikan lokasi metadata untuk ID token.

ID antarmukanya adalah

0x0e89341c
.

URI biasanya mengarah ke dokumen JSON yang berisi nama, deskripsi, gambar, atribut, dan informasi token lainnya.

Standar inti tidak mewajibkan fungsi on-chain

name
,
symbol
, atau
decimals
terpisah untuk setiap ID token.

Proyek dapat menambahkan kolom tersebut melalui metadata atau antarmuka khusus.

Placeholder Metadata {id}

URI metadata ERC-1155 dapat memuat placeholder

{id}
.

Aplikasi mengganti placeholder ini dengan ID token yang diminta dalam format heksadesimal huruf kecil.

Nilai yang diformat harus berisi 64 karakter heksadesimal, termasuk nol di awal.

Nilai tersebut tidak boleh menyertakan awalan

0x
.

Metode ini memungkinkan satu URI dasar menunjukkan lokasi metadata untuk banyak ID token.

Aplikasi yang melakukan substitusi secara keliru dapat mengambil metadata untuk aset yang salah.

Risiko Penyimpanan Metadata

Metadata ERC-1155 dapat disimpan di server web, jaringan berbasis alamat konten, atau langsung secara on-chain.

Metadata yang di-host di server dapat berubah atau hilang.

Penyimpanan berbasis alamat konten dapat meningkatkan integritas, tetapi kontennya harus tetap tersedia.

Metadata on-chain mengurangi ketergantungan pada hosting eksternal, tetapi biaya penyimpanan dan pembaruannya bisa lebih tinggi.

URI yang dapat diubah memungkinkan administrator mengubah nama, gambar, deskripsi, dan atribut setelah pengguna memperoleh token.

Pengguna sebaiknya memeriksa pihak yang mengendalikan metadata dan apakah jaminan permanen dapat diverifikasi.

Minting Token ERC-1155

Minting membuat unit baru dari ID token ERC-1155.

Standar inti tidak menetapkan fungsi mint publik atau menentukan pihak yang dapat membuat token.

Implementasi dapat membatasi minting kepada administrator, smart contract, proses tata kelola, atau peran lain yang berwenang.

Minting tunggal mengeluarkan

TransferSingle
dari alamat nol.

Minting batch mengeluarkan

TransferBatch
dari alamat nol.

Minting ke smart contract biasanya memicu callback penerima yang sesuai.

Pengguna sebaiknya memeriksa kewenangan minting sebelum mengandalkan klaim suplai atau kelangkaan.

Burning Token ERC-1155

Burning menghapus unit token dari peredaran sesuai aturan kontrak.

Standar inti tidak mewajibkan fungsi burn publik.

Kontrak dapat mengizinkan pemegang, operator yang disetujui, administrator, atau logika protokol untuk melakukan burn token.

Burning mengeluarkan event transfer dengan alamat nol sebagai penerima.

Burning semua unit yang ada dari satu ID tidak serta-merta mencegah ID tersebut di-mint kembali.

Hasilnya bergantung pada kontrol minting dan suplai dalam implementasi.

Suplai Total dan Enumerasi

Antarmuka inti ERC-1155 tidak mencakup fungsi

totalSupply
.

Suplai dapat disusun kembali dari event minting dan burning jika kontrak mengikuti persyaratan event dengan benar.

Implementasi dapat menambahkan ekstensi pelacakan suplai opsional yang melaporkan suplai total untuk setiap ID.

Library kontrak ERC-1155 terkini mencakup ekstensi untuk pelacakan suplai, burning, jeda, dan penyimpanan URI.

ERC-1155 juga tidak menetapkan fungsi inti untuk mencantumkan setiap ID token atau pemegang yang ada.

Aplikasi umumnya menggunakan pengindeksan event off-chain untuk membuat daftar tersebut.

Royalti ERC-1155

Royalti kreator bukan bagian dari standar inti ERC-1155.

Standar royalti ERC-2981 opsional memungkinkan kontrak melaporkan penerima royalti dan jumlah yang disarankan.

Jumlah royalti dihitung menggunakan harga jual yang diberikan.

ERC-2981 menyampaikan informasi royalti, tetapi tidak otomatis memberlakukan pembayaran pada setiap transfer.

Transfer dapat terjadi tanpa penjualan. Ini salah satu alasan kontrak token tidak dapat menganggap setiap perpindahan sebagai peristiwa royalti.

Pengguna sebaiknya memastikan apakah administrator dapat mengubah pengaturan royalti.

Error ERC-1155 Terstandar

Spesifikasi ERC-1155 asli tidak menetapkan custom error Solidity modern.

Standar error ERC-6093 berstatus Final menetapkan nama error umum untuk kontrak ERC-1155.

Error ini mencakup saldo yang tidak mencukupi, pengirim tidak valid, penerima tidak valid, persetujuan operator yang tidak ada, operator tidak valid, dan panjang array yang tidak sesuai.

Error terstandar dapat membantu wallet dan developer menjelaskan transaksi yang gagal dengan lebih konsisten.

Kontrak ERC-1155 yang sudah ada tidak diwajibkan untuk mengadopsi error ini.

ERC-1155 vs. ERC-20

ERC-20 biasanya merepresentasikan satu jenis token fungibel per kontrak.

ERC-1155 dapat merepresentasikan banyak jenis token dalam satu kontrak.

ERC-20 menggunakan allowance spender numerik, sedangkan ERC-1155 inti menggunakan persetujuan operator untuk seluruh koleksi.

ERC-1155 mencakup transfer batch dan callback penerima wajib untuk penerima berupa smart contract.

Standar inti ERC-20 tidak mencakup fitur tersebut.

ERC-20 dapat tetap lebih sederhana jika proyek hanya membutuhkan satu aset kripto fungibel.

ERC-1155 vs. ERC-721

ERC-721 dirancang untuk ID token nonfungibel yang dimiliki secara individual.

Satu ID token ERC-721 yang valid memiliki satu pemilik.

ERC-1155 menyimpan saldo kuantitas untuk setiap kombinasi akun dan ID token.

Dengan demikian, satu ID dapat memiliki banyak unit yang dapat dipertukarkan, sedangkan ID lain dalam kontrak yang sama memiliki suplai satu.

ERC-1155 juga mendukung transfer batch terstandar, sedangkan ERC-721 biasanya mentransfer satu NFT dalam satu waktu.

ERC-721 dapat menyediakan model yang lebih sederhana jika setiap aset bersifat unik.

Kasus Penggunaan Umum ERC-1155

Game blockchain dapat mengelola mata uang, material, senjata, karakter, dan tanah melalui satu kontrak ERC-1155.

Sistem acara dapat menerbitkan berbagai kategori dan jumlah tiket dengan ID token terpisah.

Proyek keanggotaan dapat membuat beberapa tingkat akses atau paket manfaat.

Seniman digital dapat menerbitkan edisi terbatas yang berisi beberapa salinan karya yang dapat dipertukarkan.

Aplikasi keuangan dapat menggunakan ID token untuk mengidentifikasi tanggal jatuh tempo, klaim, kategori posisi, atau kelompok risiko.

Sistem reward dapat mendistribusikan beberapa jenis poin atau item pencapaian melalui satu transaksi batch.

Standar ini tidak secara independen memverifikasi bahwa token merepresentasikan hak yang dapat ditegakkan secara hukum atau aset dunia nyata.

Risiko Persetujuan ERC-1155

Phishing persetujuan operator merupakan risiko utama bagi pemegang ERC-1155.

Situs web berbahaya dapat meminta

setApprovalForAll
sambil menjelaskan transaksi tersebut sebagai verifikasi, koneksi akun, atau akses reward.

Setelah persetujuan diberikan, operator dapat mentransfer setiap token ERC-1155 yang dimiliki pengguna dalam kontrak tersebut.

Wewenang ini dapat tetap aktif hingga pemilik mencabutnya.

Pengguna sebaiknya memverifikasi jaringan, kontrak token, alamat operator, dan jenis izin sebelum menandatangani transaksi.

Frasa pemulihan wallet atau kunci privat tidak pernah diperlukan untuk membatalkan persetujuan operator.

Risiko Operasi Batch

Operasi batch menggunakan array yang posisinya harus tetap selaras dengan benar.

Ketidakcocokan antara ID token dan jumlah harus menyebabkan transaksi gagal.

Pengindeksan yang salah dapat mentransfer jumlah aset yang keliru.

Array yang sangat besar dan dikendalikan pengguna dapat menghabiskan terlalu banyak gas atau membuat fungsi tidak dapat digunakan.

Kontrak penerima sebaiknya memvalidasi setiap ID dan jumlah sebelum menerima batch.

Developer sebaiknya menguji array kosong, ID berulang, panjang yang tidak sesuai, batch besar, dan ID aset yang tidak didukung.

Risiko Suplai dan Keaslian

ID token mungkin tampak unik karena saat ini hanya ada satu unit.

Namun, akun yang berwenang mungkin masih dapat melakukan minting unit tambahan di kemudian hari.

Kontrak lain dapat menyalin nama token, ID, gambar, atau metadata yang sama.

Alamat kontrak dan jaringan merupakan bagian penting dari identitas token ERC-1155.

Pengguna sebaiknya memeriksa peran minting, batas suplai, izin upgrade, dan kontrol metadata.

Kompatibilitas ERC-1155 tidak membuktikan keaslian, kelangkaan, dukungan agunan, atau nilai investasi.

Risiko Kontrak yang Dapat Di-upgrade

Kontrak ERC-1155 dapat beroperasi melalui proxy yang dapat di-upgrade.

Administrator yang berwenang mungkin dapat mengubah minting, transfer, persetujuan, metadata, biaya, atau perilaku lainnya.

Upgrade dapat memperbaiki kerentanan, tetapi juga dapat menambahkan logika berbahaya.

Kunci upgrade yang disusupi dapat membahayakan setiap ID token yang dikelola kontrak.

Pengguna sebaiknya memeriksa kewenangan upgrade, jeda waktu, kontrol multisignature, dan izin darurat.

Dukungan terhadap antarmuka yang benar tidak membuktikan bahwa kontrak terdesentralisasi atau tidak dapat diubah.

Cara Developer Mengimplementasikan ERC-1155

Developer sebaiknya memulai dengan implementasi yang aktif dipelihara dan ditinjau, kecuali jika logika saldo khusus memang diperlukan.

Panduan pengembangan ERC-1155 terkini menjelaskan saldo multi-token, operasi batch, pemeriksaan penerima, dan ekstensi umum.

Fungsi minting dan administrasi sebaiknya menggunakan kontrol akses yang jelas.

Batasan suplai harus ditegakkan dalam kode kontrak, bukan hanya dijelaskan dalam dokumentasi proyek.

Implementasi harus mengeluarkan semua event transfer dan persetujuan yang diwajibkan.

Pengujian harus mencakup transfer tunggal, transfer batch, minting, burning, izin operator, penerima tidak valid, ketidakcocokan array, dan callback berbahaya.

Developer juga sebaiknya memverifikasi pengenal antarmuka ERC-165 yang benar untuk setiap ekstensi yang didukung.

Cara Pengguna Mengevaluasi Token ERC-1155

Langkah pertama adalah memverifikasi jaringan blockchain, alamat kontrak, dan ID token.

Langkah kedua adalah memastikan apakah token dimaksudkan sebagai token fungibel, nonfungibel, atau semi-fungibel.

Langkah ketiga adalah memeriksa suplai saat ini, kewenangan minting, dan batas suplai.

Langkah keempat adalah meninjau persetujuan operator aktif yang terkait dengan wallet.

Langkah kelima adalah memastikan cara metadata disimpan dan apakah metadata dapat berubah.

Langkah keenam adalah mengidentifikasi kewenangan administrator, jeda, pembekuan, royalti, dan upgrade.

Langkah ketujuh adalah memeriksa kode sumber, audit, dan riwayat insiden tanpa menganggapnya sebagai jaminan.

Langkah kedelapan adalah memahami utilitas, hak penukaran, atau klaim hukum yang benar-benar diberikan token.

Langkah kesembilan adalah memeriksa apakah kontrak penerima menyediakan proses penarikan yang andal.

Langkah kesepuluh adalah menguji kontrak yang belum dikenal dengan jumlah kecil sebelum mentransfer aset bernilai tinggi.

Contoh Transfer Batch ERC-1155

Misalkan Alice memiliki 100 unit token ID 1, lima unit token ID 2, dan satu unit token ID 3.

Ia ingin mengirim sepuluh unit ID 1, dua unit ID 2, dan satu unit ID 3 kepada Bob.

Wallet-nya memanggil

safeBatchTransferFrom
dengan array yang berisi ketiga ID dan jumlah yang sesuai.

Kontrak memverifikasi saldo Alice dan memastikan pemanggil memiliki wewenang.

Kontrak mengurangi saldo Alice dan menambah saldo Bob untuk setiap ID.

Kontrak mengeluarkan satu event

TransferBatch
yang menjelaskan perpindahan tersebut.

Jika Bob adalah smart contract, kontrak token memanggil

onERC1155BatchReceived
.

Jika penerima mengembalikan nilai yang benar, transaksi selesai.

Jika pemeriksaan saldo, otorisasi, array, atau penerima gagal, seluruh transaksi dibatalkan.

Kesalahan Umum dalam ERC-1155

Salah satu kesalahan umum adalah berasumsi bahwa setiap ID token ERC-1155 merepresentasikan NFT.

Kesalahan lainnya adalah menganggap bahwa ID dengan satu unit saat ini memiliki suplai maksimum satu secara permanen.

Kesalahan ketiga adalah memberikan persetujuan operator tanpa memahami bahwa persetujuan tersebut mencakup setiap ID token dalam kontrak.

Kesalahan keempat adalah mengira bahwa memutuskan koneksi wallet akan menghapus persetujuan on-chain.

Kesalahan kelima adalah menggunakan ketersediaan metadata sebagai bukti bahwa token telah di-mint.

Kesalahan keenam adalah menganggap setiap kontrak menyediakan fungsi suplai total.

Kesalahan ketujuh adalah memproses array batch tanpa memeriksa panjang dan posisi elemennya.

Kesalahan kedelapan adalah mengabaikan callback penerima dan risiko reentrancy.

Kesalahan kesembilan adalah menganggap royalti yang dilaporkan otomatis diberlakukan.

Kesalahan kesepuluh adalah menganggap kepatuhan antarmuka sebagai bukti keaslian, kelangkaan, atau keamanan.

FAQ

Apa arti ERC-1155?

ERC-1155 adalah Multi-Token Standard Ethereum untuk mengelola banyak jenis token fungibel, nonfungibel, dan semi-fungibel dalam satu kontrak.

Apakah ERC-1155 merupakan mata uang kripto?

ERC-1155 adalah standar teknis, sedangkan kontrak yang menerapkannya dapat membuat berbagai jenis aset kripto.

Apa ID antarmuka ERC-1155?

ID antarmuka inti ERC-1155 adalah

0xd9b67a26
.

Apa ID antarmuka penerima ERC-1155?

ID antarmuka penerima adalah

0x4e2312e0
.

Bisakah ERC-1155 membuat token fungibel?

Ya, satu ID token dapat merepresentasikan banyak unit yang dapat dipertukarkan dan dibagikan ke beberapa akun.

Bisakah ERC-1155 membuat NFT?

Ya, ID token dapat berfungsi sebagai NFT jika kontrak membatasi suplainya menjadi satu.

Apa itu token semi-fungibel?

Token semi-fungibel memiliki unit yang dapat dipertukarkan dalam satu konteks, tetapi kemudian memperoleh makna, status, atau utilitas yang berbeda.

Bisakah satu kontrak ERC-1155 memuat banyak aset?

Ya, satu kontrak dapat mengelola banyak ID token dengan suplai, metadata, dan tujuan yang berbeda.

Apa yang dikembalikan balanceOf?

Fungsi ini mengembalikan jumlah satu ID token tertentu yang dimiliki sebuah akun.

Apa fungsi balanceOfBatch?

Fungsi ini mengembalikan saldo beberapa pasangan akun dan ID token dalam satu pemanggilan.

Apa itu safeBatchTransferFrom?

Fungsi ini mentransfer beberapa ID token dan jumlahnya dalam satu transaksi serta memeriksa penerima jika penerimanya adalah smart contract.

Apa fungsi setApprovalForAll?

Fungsi ini memberi wewenang kepada operator untuk mengelola setiap ID token yang dimiliki pemanggil dalam satu kontrak ERC-1155.

Bisakah pengguna menyetujui hanya satu ID token?

Tidak melalui fungsi persetujuan inti ERC-1155, meskipun ekstensi opsional dapat menyediakan izin yang lebih terbatas.

Apakah persetujuan ERC-1155 kedaluwarsa secara otomatis?

Tidak. Persetujuan operator standar tetap aktif hingga dicabut oleh pemilik atau dampaknya diubah oleh logika khusus.

Apakah ERC-1155 mewajibkan pemeriksaan penerima?

Ya, transfer aman standar ke smart contract harus mengikuti aturan callback penerima tunggal atau batch yang sesuai.

Bisakah kontrak penerima menolak token ERC-1155?

Ya, kontrak dapat membatalkan transaksi atau mengembalikan nilai penerimaan yang salah sehingga transfer gagal.

Apakah ERC-1155 mendukung metadata?

Ya, ERC-1155 mencakup ekstensi URI metadata opsional dengan ID antarmuka

0x0e89341c
.

Apakah setiap token ERC-1155 memiliki nama dan simbol?

Tidak. Standar inti tidak mewajibkan fungsi nama atau simbol on-chain terpisah untuk setiap ID token.

Apakah ERC-1155 menetapkan desimal?

Tidak. Jika diperlukan, informasi denominasi harus diperoleh dari metadata atau logika khusus proyek.

Apakah ERC-1155 mencakup totalSupply?

Tidak. Suplai total memerlukan pengindeksan event atau ekstensi pelacakan suplai opsional.

Bisakah metadata ERC-1155 berubah?

Ya, metadata dapat berubah jika kontrak atau sistem penyimpanan eksternal mengizinkan pembaruan.

Apakah ERC-1155 memberlakukan royalti?

Tidak. Informasi royalti memerlukan standar terpisah dan tidak otomatis diberlakukan oleh fungsi transfer inti.

Bisakah transfer batch ERC-1155 menghemat gas?

Ya, menggabungkan beberapa perpindahan token dalam satu transaksi dapat mengurangi overhead transaksi berulang.

Bisakah callback ERC-1155 menyebabkan reentrancy?

Ya, callback penerima menjalankan kode eksternal dan dapat memanggil fungsi kontrak lain sebelum transaksi awal selesai.

Apakah kepatuhan ERC-1155 membuat token aman?

Tidak. Kontrak yang kompatibel tetap dapat memiliki kode tidak aman, izin berlebihan, metadata yang dapat diubah, kontrol suplai yang lemah, atau klaim penipuan.

Kesimpulan

ERC-1155 adalah standar Ethereum untuk mengelola banyak jenis token melalui satu smart contract.

Setiap ID token dapat merepresentasikan aset fungibel, NFT unik, item semi-fungibel, atau aset kripto lain berbasis kuantitas.

Standar ini menetapkan kueri saldo, transfer tunggal dan batch, persetujuan operator untuk seluruh koleksi, callback penerima, event, aturan metadata, dan deteksi antarmuka.

Operasi batch dapat mengurangi overhead transaksi saat beberapa aset perlu diperiksa atau ditransfer sekaligus.

Callback penerima wajib mengurangi risiko transfer tidak sengaja ke kontrak yang tidak kompatibel, tetapi menimbulkan risiko panggilan eksternal dan reentrancy.

Standar inti tidak menetapkan minting publik, burning, suplai total, desimal, royalti, metadata permanen, atau allowance token individual.

Karakteristik tersebut bergantung pada ekstensi opsional dan implementasi kontrak tertentu.

Pengguna sebaiknya memverifikasi jaringan, alamat kontrak, ID token, kontrol suplai, persetujuan operator, sistem metadata, dan izin administrator.

Developer sebaiknya menggunakan implementasi yang terpelihara, mengeluarkan semua event yang diwajibkan, melindungi callback penerima, membatasi kompleksitas batch, dan menguji setiap jalur otorisasi.

ERC-1155 menyediakan infrastruktur multi-token yang fleksibel, tetapi kompatibilitas teknis tidak menjamin keaslian, kelangkaan, nilai finansial, atau keamanan smart contract.
Menarik Kembali / Peluang?
Menarik Kembali / Peluang?Menarik Kembali / Peluang?
Simak arus masuk ETF BTC $2,4 miliar pada likuidasi