Apa Itu Standar Multi-Token ERC-1155?
ERC-1155 adalah standar token Ethereum yang memungkinkan satu smart contract mengelola banyak jenis token secara bersamaan.Satu kontrak ERC-1155 dapat merepresentasikan token fungibel, token nonfungibel, token semi-fungibel, atau gabungan dari jenis aset tersebut.Spesifikasi ERC-1155 resmi menetapkan standar untuk kueri saldo, transfer tunggal, transfer batch, persetujuan operator, callback penerima, event, dan metadata opsional.
ERC-1155 diklasifikasikan sebagai standar Ethereum Request for Comments berstatus Final.Standar ini umum disebut Multi-Token Standard karena setiap ID token dalam satu kontrak dapat merepresentasikan aset kripto yang berbeda.Setiap ID token dapat memiliki suplai, saldo, metadata, kelangkaan, tujuan, dan karakteristik ekonominya sendiri.ERC-1155 dirancang untuk mengurangi biaya dan kompleksitas deployment serta interaksi dengan koleksi besar aset blockchain.Mengapa ERC-1155 Dibuat?
Model token sebelumnya umumnya memerlukan kontrak terpisah untuk aset fungibel atau koleksi NFT yang berbeda.Karena itu, game blockchain yang memiliki ratusan mata uang, sumber daya, senjata, karakter, dan item acara mungkin membutuhkan banyak kontrak.Deployment kontrak yang berulang menambah bytecode, pekerjaan administrasi dan integrasi, serta biaya transaksi.ERC-1155 menempatkan banyak jenis token dalam satu kontrak dan menerapkan sistem transfer serta persetujuan bersama untuk semuanya.Standar ini juga mendukung operasi batch untuk memindahkan beberapa ID token dalam satu transaksi.Hal ini membuat standar tersebut berguna untuk game, koleksi digital, sistem keanggotaan, inventaris tokenisasi, posisi keuangan, program reward, dan aplikasi kripto lain yang memiliki banyak kategori aset.Standar ini tidak terbatas pada game dan dapat digunakan di mana pun kontrak perlu mengelola beberapa jenis token secara efisien.Cara Kerja ERC-1155
Kontrak ERC-1155 menyimpan saldo terpisah untuk setiap kombinasi alamat akun dan ID token.Dalam kontrak yang sama, sebuah alamat dapat memiliki sepuluh unit token ID 1, satu unit token ID 2, dan tidak memiliki unit token ID 3.Setiap ID token dapat berperilaku sebagai aset fungibel, NFT unik, atau aset dengan suplai terbatas yang dapat dipertukarkan.Saat token berpindah, kontrak mengurangi saldo pengirim untuk setiap ID terkait dan menambah saldo penerima yang sesuai.Kontrak mengeluarkan event standar agar wallet dan indexer dapat menyusun kembali informasi pembuatan, transfer, dan pemusnahan token.Jika penerima adalah smart contract, kontrak ERC-1155 akan memanggil fungsi penerima untuk memastikan bahwa penerima menerima aset tersebut.Node Ethereum menjalankan aturan ini dan memverifikasi perubahan saldo yang dihasilkan berdasarkan kode kontrak yang telah di-deploy.Apa Itu ID Token dalam ERC-1155?
ID token adalah bilangan bulat tak bertanda yang mengidentifikasi satu jenis token di dalam kontrak ERC-1155.ID token yang sama dapat ada di kontrak lain tanpa merepresentasikan aset yang sama.Karena itu, aset ERC-1155 diidentifikasi melalui kombinasi jaringan blockchain, alamat kontrak, dan ID token.Token ID 25 dapat merepresentasikan sumber daya game fungibel dalam satu kontrak dan koleksi unik dalam kontrak lain.Standar ini tidak mengharuskan ID dimulai dari nol, bertambah secara berurutan, atau memiliki arti tertentu.Developer dapat menetapkan ID sesuai arsitektur aplikasi mereka.Aplikasi sebaiknya mengambil data kontrak yang tepercaya, bukan menebak ID token yang tersedia.Token Fungibel dalam ERC-1155
ID token ERC-1155 dapat merepresentasikan aset fungibel jika terdapat beberapa unit ID tersebut yang dapat dipertukarkan.Misalnya, token ID 1 dapat merepresentasikan mata uang game dengan satu juta unit identik.Setiap pemegang memiliki saldo kuantitas yang terkait dengan token ID 1.Unit dengan ID yang sama biasanya memiliki properti yang identik sesuai definisi kontrak.Tidak seperti ERC-20, antarmuka inti ERC-1155 tidak menetapkan fungsi suplai total, simbol, nama, atau desimal terpisah untuk setiap ID token.Proyek harus menyediakan informasi suplai atau tampilan yang diperlukan melalui ekstensi, metadata, atau fungsi khusus.Token Nonfungibel dalam ERC-1155
ID token ERC-1155 dapat merepresentasikan aset nonfungibel dengan membatasi suplai ID tersebut menjadi satu unit.Alamat yang memiliki satu unit tersebut berfungsi sebagai pemilik token.ID token lain dalam kontrak yang sama dapat merepresentasikan item unik yang berbeda.Misalnya, token ID 1001 dapat merepresentasikan satu pedang, sedangkan token ID 1002 merepresentasikan sebidang tanah virtual.Standar inti tidak mewajibkan suplai maksimum sebuah ID token hanya satu.Logika minting kontrak harus menegakkan keunikan jika suatu ID dimaksudkan untuk berfungsi sebagai NFT.Token Semi-Fungibel
Token semi-fungibel dimulai dengan unit yang dapat dipertukarkan, tetapi kemudian dapat memiliki makna atau kegunaan terbatas yang berbeda.Tiket acara merupakan contoh umum karena beberapa tiket untuk bagian yang sama dapat dipertukarkan sebelum acara berlangsung.Setelah digunakan, setiap tiket dapat menjadi catatan koleksi yang terkait dengan pengalaman tertentu.Item game edisi terbatas atau dengan status yang berubah juga dapat menggunakan model semi-fungibel.ERC-1155 tidak secara formal mengklasifikasikan ID sebagai fungibel, nonfungibel, atau semi-fungibel.Klasifikasi tersebut ditentukan oleh suplai, metadata, aturan transfer, dan desain aplikasi token.Fungsi Inti ERC-1155
Antarmuka inti mencakup fungsi untuk memeriksa saldo, mentransfer token, dan mengelola persetujuan operator.Fungsi yang diwajibkan adalah
Fungsi balanceOf
Fungsi
Hal ini juga berbeda dari ERC-721, yang menggunakan
Fungsi balanceOfBatch
Fungsi
Fungsi safeTransferFrom
Fungsi
Transfer yang berhasil mengeluarkan event
Fungsi safeBatchTransferFrom
Fungsi
Transfer batch yang berhasil mengeluarkan satu event
Mengapa Transfer Batch Penting?
Transfer batch memungkinkan beberapa jenis aset berpindah melalui satu transaksi blockchain.Pengguna game dapat mentransfer mata uang, material, zirah, dan item koleksi sekaligus.Aplikasi juga dapat mendistribusikan beberapa jenis reward kepada satu penerima dalam satu operasi.Batching dapat mengurangi overhead transaksi berulang dan menurunkan total biaya dibandingkan mengirim banyak transaksi terpisah.Besarnya penghematan bergantung pada jumlah ID, implementasi kontrak, perubahan penyimpanan, kondisi jaringan, dan logika penerima.Batch yang sangat besar tetap dapat menggunakan terlalu banyak gas dan gagal karena batas gas blok.Aplikasi sebaiknya menetapkan batas yang wajar untuk ukuran batch yang dikendalikan pengguna.Persetujuan Operator ERC-1155
ERC-1155 menggunakan model persetujuan operator untuk seluruh koleksi.Fungsi
Fungsi isApprovedForAll
Fungsi
Fungsi ini mengembalikan
Ekstensi Persetujuan Terperinci
Model persetujuan ERC-1155 yang luas mungkin tidak sesuai jika pengguna hanya ingin mengizinkan ID token atau jumlah tertentu.Standar tambahan atau kontrak khusus dapat menyediakan izin yang lebih terbatas.Ekstensi allowance ERC-5216 menetapkan jumlah persetujuan untuk ID token ERC-1155 tertentu.
Dukungan untuk ekstensi semacam ini bersifat opsional dan tidak boleh diasumsikan tersedia.Wallet harus membedakan dengan jelas allowance terbatas untuk ID token dari persetujuan standar untuk seluruh koleksi.Antarmuka Penerima ERC-1155
Smart contract yang menerima token ERC-1155 melalui transfer aman standar harus mengimplementasikan fungsi penerima yang sesuai.Antarmuka penerima mencakup
ID antarmuka ERC-165 untuk antarmuka penerima adalah
Callback Penerima untuk Transfer Tunggal
Fungsi
Nilai penerimaan yang diharapkan adalah
Callback Penerima untuk Transfer Batch
Fungsi
Nilai penerimaan yang diharapkan adalah
Callback Penerima dan Reentrancy
Callback penerima ERC-1155 menjalankan kode kontrak eksternal sebelum transaksi transfer awal selesai.Kontrak penerima dapat memanggil kembali kontrak token atau aplikasi lain selama callback berlangsung.Hal ini membuka kemungkinan terjadinya reentrancy.Spesifikasi ERC-1155 mewajibkan saldo dan event transfer diperbarui sebelum fungsi penerima dipanggil.Kontrak aplikasi tetap perlu melindungi logika akuntansi dan otorisasinya sendiri.Panduan keamanan Solidity menyarankan agar pemeriksaan dan perubahan status penting diselesaikan sebelum interaksi eksternal jika logika yang dimaksud memungkinkan.
Developer sebaiknya menguji kedua fungsi penerima dengan kontrak berbahaya yang mencoba reentrancy pada fungsi yang sama maupun lintas fungsi.Event ERC-1155
Standar inti menetapkan event
Event TransferSingle
Event
Event TransferBatch
Event
Event ApprovalForAll
Event
Deteksi Antarmuka ERC-1155
ERC-1155 mewajibkan dukungan untuk standar deteksi antarmuka ERC-165.ID antarmuka inti ERC-1155 adalah
Kontrak yang kompatibel harus mengembalikan
Standar ERC-165 menjelaskan cara smart contract mengumumkan dan mendeteksi antarmuka yang didukung.
Deteksi antarmuka membantu aplikasi menghindari pemanggilan fungsi yang tidak didukung.Kontrak dapat mengklaim dukungan secara keliru atau mengimplementasikan fungsi dengan tidak benar, sehingga respons positif bukan jaminan keamanan menyeluruh.Metadata ERC-1155
ERC-1155 mencakup ekstensi URI metadata opsional.Ekstensi ini menambahkan fungsi
ID antarmukanya adalah
Tidak seperti antarmuka metadata ERC-20 dan ERC-721, desain inti ERC-1155 tidak mewajibkan fungsi on-chain
Substitusi Metadata {id}
URI metadata ERC-1155 dapat memuat placeholder
Nilai tersebut harus berisi 64 karakter, termasuk nol di awal, dan tidak boleh menyertakan awalan
Risiko Penyimpanan Metadata
Metadata ERC-1155 dapat disimpan di server tradisional, jaringan berbasis alamat konten, atau langsung secara on-chain.Konten yang di-host di server dapat berubah atau hilang.Penyimpanan berbasis alamat konten meningkatkan integritas jika pengidentifikasi sesuai dengan file, tetapi tetap bergantung pada ketersediaan berkelanjutan.Metadata on-chain mengurangi ketergantungan pada hosting eksternal, tetapi meningkatkan biaya penyimpanan dan deployment.URI kontrak yang dapat diubah bisa mengubah nama, gambar, atribut, atau deskripsi setelah pengguna memperoleh token.Pengguna sebaiknya memeriksa pihak yang dapat mengubah metadata dan memastikan apakah konten yang dirujuk diperkirakan akan tetap tersedia.Minting Token ERC-1155
Minting membuat unit token dan memberikannya ke suatu alamat.Antarmuka inti ERC-1155 tidak menetapkan fungsi minting publik.Setiap implementasi menentukan pihak yang dapat melakukan minting, ID yang dapat dibuat, dan apakah berlaku batas suplai.Minting harus mengeluarkan
Burning Token ERC-1155
Burning menghapus unit token secara permanen dari saldo sesuai implementasi kontrak.Antarmuka inti tidak mewajibkan fungsi burn publik.Proyek dapat mengizinkan pemegang, operator yang disetujui, administrator, atau logika protokol lain untuk melakukan burn aset.Burning harus mengeluarkan event transfer yang sesuai dengan alamat nol sebagai penerima.Burning seluruh unit yang ada dari suatu ID tidak serta-merta mencegah kontrak melakukan minting ID tersebut kembali.Hasilnya bergantung pada aturan suplai dan kontrol akses kontrak.Suplai Total ERC-1155
Standar inti ERC-1155 tidak menetapkan fungsi
API implementasi ERC-1155 terkini mencakup ekstensi suplai opsional yang melacak suplai total berdasarkan ID token.
Aplikasi tidak boleh berasumsi bahwa setiap kontrak ERC-1155 menyediakan fungsi suplai yang sama.Enumerasi ERC-1155
ERC-1155 tidak menetapkan fungsi inti untuk mencantumkan setiap ID token atau setiap pemegangnya.Standar ini mengharapkan sistem off-chain menyusun kembali aktivitas token dari event
Royalti ERC-1155
Standar inti ERC-1155 tidak menetapkan royalti kreator.Standar royalti ERC-2981 opsional dapat memberikan alamat penerima royalti dan jumlah pembayaran yang disarankan untuk penjualan token.
ERC-2981 kompatibel dengan ERC-1155 dan dapat menetapkan informasi royalti default atau khusus untuk token tertentu.Standar royalti menyampaikan informasi pembayaran, tetapi tidak memaksa setiap aplikasi untuk membayarnya.Pengaturan royalti juga dapat diubah jika implementasi memberikan wewenang tersebut kepada administrator.Error Terstandar ERC-1155
Standar ERC-1155 asli tidak menetapkan custom error Solidity modern.Standar ERC-6093 berstatus Final menetapkan error umum untuk implementasi ERC-1155.
Error tersebut mencakup saldo yang tidak mencukupi, pengirim tidak valid, penerima tidak valid, persetujuan operator yang tidak ada, operator tidak valid, serta panjang array yang tidak sesuai.Error terstandar dapat membantu wallet dan developer menjelaskan kegagalan transaksi secara konsisten.Kontrak ERC-1155 yang sudah ada tidak diwajibkan untuk mengadopsinya.ERC-1155 vs. ERC-20
ERC-20 biasanya merepresentasikan satu jenis token fungibel per kontrak.ERC-1155 dapat merepresentasikan banyak ID token fungibel maupun nonfungibel dalam satu kontrak.ERC-20 menggunakan allowance numerik untuk spender individual, sedangkan ERC-1155 inti menggunakan persetujuan operator untuk seluruh koleksi.ERC-1155 mendukung transfer batch terstandar dan callback penerima.Standar inti ERC-20 tidak menyediakan kedua fitur tersebut.ERC-20 mungkin tetap lebih sederhana jika proyek hanya membutuhkan satu aset kripto fungibel.ERC-1155 vs. ERC-721
ERC-721 merepresentasikan ID token nonfungibel yang dimiliki secara individual.Satu ID token ERC-721 yang valid memiliki satu pemilik, bukan saldo kuantitas untuk setiap akun.ERC-1155 menyimpan jumlah untuk setiap kombinasi akun dan ID token.Dengan demikian, satu ID dapat memiliki banyak unit yang dapat dipertukarkan, sementara 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 memberikan model kepemilikan yang lebih sederhana jika setiap token bersifat unik.Kasus Penggunaan ERC-1155
Game blockchain dapat menggunakan satu kontrak ERC-1155 untuk mata uang, material, karakter, senjata, tanah, dan item edisi terbatas.Sistem acara dapat menerbitkan beberapa kategori dan jumlah tiket dari satu kontrak.Proyek keanggotaan dapat mengelola berbagai tingkat akses, kelompok masa berlaku, atau paket manfaat melalui ID token terpisah.Proyek koleksi digital dapat membuat edisi yang berisi beberapa salinan karya yang dapat dipertukarkan.Aplikasi keuangan dapat menggunakan ID untuk merepresentasikan tanggal jatuh tempo, klaim, kelompok risiko, atau kategori posisi.Sistem reward dapat mendistribusikan beberapa jenis poin atau item pencapaian dalam satu batch.Standar ini tidak memverifikasi bahwa token merepresentasikan hak hukum yang sah atau aset dunia nyata.Risiko Phishing Persetujuan
Aplikasi berbahaya dapat meminta pengguna memanggil
Risiko Pemrosesan Batch
Operasi batch memproses array yang elemennya harus tetap selaras dengan benar.Ketidakcocokan antara ID dan jumlah seharusnya menyebabkan transaksi gagal.Pengindeksan yang salah dapat mentransfer jumlah aset yang keliru.Batch besar dapat melampaui batas gas transaksi atau menimbulkan kondisi denial-of-service.Penerima mungkin dapat menerima sebagian ID token secara ekonomi, tetapi tidak menerima ID lainnya. Karena itu, penerima harus memvalidasi seluruh batch sebelum mengonfirmasi penerimaan.Aplikasi sebaiknya membatasi ukuran batch dan menguji ID token berulang atau tidak berurutan sesuai aturan implementasinya.Risiko Penerima dan Reentrancy
Transfer aman memanggil kode penerima eksternal setelah saldo diperbarui.Penerima berbahaya dapat mencoba melakukan reentrancy ke fungsi minting, transfer, penjualan, staking, pinjaman, atau penarikan.Kontrak dapat tetap rentan meskipun satu fungsi memiliki perlindungan reentrancy, jika fungsi lain mengekspos status terkait.Developer sebaiknya menggunakan logika transisi status yang konsisten untuk operasi tunggal maupun batch.Callback penerima harus memverifikasi kontrak token yang memanggilnya dan tidak boleh langsung memercayai data yang diberikan pengguna.Pengujian keamanan harus mencakup transfer bertingkat, penerima yang meneruskan aset, callback yang dibatalkan, dan interaksi lintas kontrak.Risiko Suplai dan Keaslian
ID token ERC-1155 mungkin tampak unik karena saat ini hanya ada satu unit.Namun, minter yang berwenang mungkin masih dapat membuat unit tambahan di kemudian hari.Nama koleksi, gambar, atau ID token juga dapat disalin ke kontrak lain.Alamat kontrak dan jaringan merupakan bagian penting dari identitas aset.Pengguna sebaiknya memeriksa kewenangan minting, ekstensi suplai, izin administrator, dan kontrol upgrade sebelum mengandalkan klaim kelangkaan.Kepatuhan terhadap ERC-1155 tidak membuktikan keaslian, dukungan aset, kelangkaan, atau nilai finansial.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 penerima.Upgrade dapat memperbaiki cacat, tetapi juga dapat memperkenalkan kode berbahaya atau tidak aman.Kunci upgrade yang disusupi dapat membahayakan setiap ID token dalam kontrak.Pengguna sebaiknya memeriksa kewenangan upgrade, jeda waktu, persyaratan multisignature, dan kontrol darurat.Kontrak dapat mendukung antarmuka yang benar sekaligus mempertahankan izin tersentralisasi yang kuat.Cara Developer Mengimplementasikan ERC-1155
Developer sebaiknya memulai dengan implementasi yang aktif dipelihara dan telah ditinjau, alih-alih menulis ulang logika saldo yang sensitif tanpa alasan kuat.Panduan pengembangan ERC-1155 terkini menyediakan kontrak inti dan menjelaskan saldo multi-token serta operasi batch.
Fungsi minting dan administrasi sebaiknya menggunakan kontrol akses yang jelas.Batasan suplai harus diterapkan dalam logika kontrak, bukan hanya dijelaskan dalam dokumentasi proyek.Developer harus mengeluarkan setiap event yang diwajibkan dan mengembalikan nilai antarmuka ERC-165 yang benar.Pengujian harus mencakup transfer tunggal, transfer batch, persetujuan, burning, minting, ketidakcocokan array, penerima tidak valid, callback berbahaya, dan perubahan metadata.Cara Pengguna Mengevaluasi Token ERC-1155
Langkah pertama adalah memverifikasi jaringan blockchain, alamat kontrak, dan ID token.Langkah kedua adalah memastikan apakah ID tersebut 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 yang terkait dengan wallet.Langkah kelima adalah memeriksa penyimpanan metadata dan menentukan apakah metadata dapat berubah.Langkah keenam adalah mengidentifikasi kewenangan administrator, jeda, pembekuan, dan upgrade.Langkah ketujuh adalah meninjau audit dan kode sumber terverifikasi tanpa menganggapnya sebagai jaminan.Langkah kedelapan adalah memastikan hak atau utilitas yang benar-benar diberikan token tersebut.Langkah kesembilan adalah menguji kontrak yang belum dikenal dengan jumlah terbatas 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
Kontrak mengeluarkan satu event
Jika Bob adalah smart contract, kontrak token akan memanggil
Kesalahan Umum dalam ERC-1155
Salah satu kesalahan umum adalah berasumsi bahwa setiap ID token ERC-1155 merupakan NFT.Kesalahan lainnya adalah berasumsi bahwa satu unit merupakan suplai maksimum ID token.Kesalahan ketiga adalah memberikan persetujuan operator tanpa memahami bahwa persetujuan tersebut mencakup setiap ID 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 ERC-1155 menetapkan fungsi suplai total untuk setiap ID.Kesalahan ketujuh adalah memproses array batch tanpa memeriksa kesesuaian panjang dan posisi elemennya.Kesalahan kedelapan adalah mengabaikan callback penerima eksternal dan risiko reentrancy.Kesalahan kesembilan adalah menganggap royalti dapat diberlakukan secara otomatis.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 beberapa 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
Apa ID antarmuka penerima ERC-1155?
ID antarmuka penerima adalah
Bisakah ERC-1155 membuat token fungibel?
Ya, satu ID token dapat memiliki banyak unit yang dapat dipertukarkan dan dibagikan ke beberapa akun.Bisakah ERC-1155 membuat NFT?
Ya, ID token dapat berfungsi sebagai NFT jika suplai yang diberlakukan kontrak dibatasi menjadi satu.Apa itu token ERC-1155 semi-fungibel?
Token semi-fungibel memiliki unit yang dapat dipertukarkan dalam satu konteks, tetapi kemudian dapat memperoleh makna, status, atau utilitas yang berbeda.Bisakah satu kontrak ERC-1155 memuat beberapa jenis aset?
Ya, satu kontrak dapat mengelola banyak ID dengan suplai, metadata, dan tujuan yang berbeda.Apa yang dikembalikan balanceOf?
Fungsi ini mengembalikan jumlah satu ID token ERC-1155 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 kontrak.Apa fungsi setApprovalForAll?
Fungsi ini memberi wewenang kepada operator untuk mengelola semua ID token yang dimiliki pemanggil dalam satu kontrak ERC-1155.Bisakah pengguna menyetujui hanya satu ID token?
Tidak melalui fungsi persetujuan inti, meskipun ekstensi opsional atau kontrak khusus dapat menyediakan izin yang lebih terbatas.Apakah persetujuan operator ERC-1155 kedaluwarsa?
Tidak. Persetujuan standar tetap aktif hingga dicabut atau logika kontrak khusus mengubah dampaknya.Apakah ERC-1155 mewajibkan pemeriksaan penerima yang aman?
Ya, transfer standar ke smart contract harus mengikuti aturan callback penerima tunggal atau batch yang sesuai.Bisakah penerima ERC-1155 menolak token?
Ya, penerima dapat membatalkan transaksi atau mengembalikan nilai penerimaan yang salah sehingga transfer gagal.Apakah ERC-1155 mendukung metadata?
Ya, ERC-1155 menetapkan ekstensi URI metadata opsional dengan ID antarmuka
Apakah setiap token ERC-1155 memiliki nama dan simbol?
Tidak. Standar inti tidak mewajibkan fungsi nama atau simbol on-chain.Apakah ERC-1155 menetapkan desimal?
Tidak. Jika diperlukan, aplikasi harus mendapatkan informasi denominasi dari metadata atau logika khusus proyek.Apakah ERC-1155 mencakup totalSupply?
Tidak. Kueri suplai total memerlukan pengindeksan event atau ekstensi 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 kontrak token inti tidak otomatis memberlakukan pembayaran royalti yang dilaporkan.Bisakah transfer batch ERC-1155 menghemat gas?
Ya, mentransfer beberapa ID token dalam satu transaksi dapat mengurangi overhead transaksi berulang.Bisakah callback ERC-1155 menyebabkan reentrancy?
Ya, callback penerima menjalankan kode eksternal yang dapat memanggil kembali fungsi kontrak lain sebelum transaksi awal selesai.Apakah kepatuhan ERC-1155 membuktikan bahwa 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 saldo.Standar ini menetapkan kueri saldo tunggal dan batch, transfer aman, persetujuan operator untuk seluruh koleksi, callback penerima, event, dan deteksi antarmuka.Operasi batch dapat mengurangi overhead transaksi saat beberapa ID token 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, atau metadata permanen.Karakteristik tersebut bergantung pada ekstensi opsional dan implementasi masing-masing kontrak.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, mengamankan callback penerima, membatasi kompleksitas batch, dan menguji setiap jalur otorisasi.ERC-1155 menyediakan infrastruktur multi-token yang fleksibel dan efisien, tetapi kompatibilitas teknis tidak menjamin keaslian, kelangkaan, nilai finansial, atau keamanan smart contract.Anda Mungkin Juga Menyukai
ZK-Rollup
ZK-Rollup-as-a-Service
zk-SNARK
POPULER
Mata uang kripto yang sedang tren saat ini dan menarik perhatian pasar yang signifikan
Volume TERATAS
Mata uang kripto dengan volume trading tertinggi
Baru Ditambahkan
Mata uang kripto yang baru saja masuk listing dan tersedia untuk trading

