Apa Itu ERC-721?
ERC-721 adalah standar token Ethereum untuk membuat dan mengelola non-fungible token, yang umum disebut NFT.Setiap token ERC-721 memiliki ID token unik yang membedakannya dari semua token lain yang dikelola oleh smart contract yang sama.Spesifikasi ERC-721 resmi menetapkan aturan standar untuk melacak kepemilikan, mentransfer token, dan memberikan izin kepada alamat lain untuk mengelola NFT.
ERC-721 diklasifikasikan sebagai standar Ethereum Request for Comments berstatus Final.Standar ini dibuat karena standar token fungibel tidak dapat merepresentasikan aset secara akurat jika setiap unitnya harus diidentifikasi dan dilacak secara terpisah.Token ERC-721 dapat merepresentasikan koleksi digital, item game, kredensial keanggotaan, properti virtual, tiket acara, posisi keuangan, aset seperti domain, atau catatan yang terhubung dengan barang fisik.Standar ini menetapkan perilaku kepemilikan dan transfer di blockchain, tetapi tidak secara otomatis menetapkan hak cipta, kepemilikan legal, keaslian, nilai finansial, atau hak atas aset eksternal.Apa Arti ERC?
ERC adalah singkatan dari Ethereum Request for Comments.ERC menjelaskan standar teknis yang dapat diikuti aplikasi dan smart contract untuk meningkatkan interoperabilitas di seluruh ekosistem Ethereum.ERC-721 adalah nomor identifikasi yang ditetapkan untuk standar non-fungible token.Nomor tersebut tidak menjelaskan suplai, harga, alamat blockchain, atau tanggal peluncuran token.Kontrak yang menerapkan ERC-721 dapat menambahkan ekstensi opsional dan fungsi khusus selama perilaku wajibnya tetap kompatibel dengan standar.Mengapa ERC-721 Dibuat?
Aset fungibel dapat dipertukarkan karena satu unit biasanya memiliki fungsi yang sama dengan unit lain dari aset yang sama.Aset non-fungibel harus dilacak secara terpisah karena setiap unit dapat memiliki karakteristik, riwayat, kelangkaan, hak, atau nilai yang berbeda.ERC-721 memberikan metode umum bagi wallet dan aplikasi untuk mengidentifikasi pemilik setiap token unik.Standar ini juga menyeragamkan transfer, persetujuan, izin operator, dan log peristiwa terkait kepemilikan.Tanpa standar bersama, setiap kontrak NFT dapat memerlukan integrasi yang berbeda.Fungsi bersama memungkinkan wallet serbaguna, blockchain explorer, pengindeks, game, protokol pinjaman, dan aplikasi kripto lainnya berinteraksi dengan banyak koleksi NFT.Cara Kerja ERC-721
Smart contract ERC-721 menyimpan atau menghitung pemilik yang terkait dengan setiap ID token yang valid.Kontrak juga melacak jumlah NFT yang dimiliki setiap alamat dalam koleksi tersebut.Saat transfer yang diotorisasi terjadi, kontrak menghapus kepemilikan dari pengirim dan menetapkan ID token kepada penerima.Kontrak mengeluarkan peristiwa standar
Apa Itu ID Token?
ID token adalah bilangan bulat tanpa tanda yang mengidentifikasi satu NFT secara unik di dalam kontrak ERC-721.ID token yang sama dapat ada di beberapa kontrak berbeda tanpa merepresentasikan aset yang sama.Karena itu, NFT diidentifikasi secara bersamaan melalui jaringan blockchain, alamat kontrak, dan ID token.Sebagai contoh, ID token 50 dalam satu kontrak tidak berkaitan dengan ID token 50 di kontrak lain.ID token tidak harus dimulai dari nol atau bertambah dalam urutan sederhana.Koleksi dapat menggunakan ID berurutan, ID yang ditetapkan secara acak, ID yang dikodekan, atau sistem lain yang didukung kontraknya.Aplikasi sebaiknya memeriksa kontrak, bukan berasumsi bahwa setiap angka dalam suatu rentang mewakili NFT yang ada.Apa yang Membuat ERC-721 Bersifat Non-Fungibel?
Setiap token ERC-721 dilacak sebagai objek blockchain tersendiri.Dua NFT dari koleksi yang sama dapat memiliki metadata, riwayat, properti, kelangkaan, dan nilai pasar yang berbeda.Kepemilikan atas satu ID token tidak memberikan hak kepemilikan atas ID token lainnya.Token ERC-721 standar ditransfer sebagai satu token utuh, bukan sebagai jumlah desimal.Kepemilikan ekonomi fraksional memerlukan smart contract atau struktur token terpisah di luar standar inti ERC-721.Menyebut dua NFT sebagai non-fungibel tidak menjamin bahwa konten visualnya berbeda karena ID token yang berbeda dapat merujuk ke metadata yang serupa atau identik.Fungsi Inti ERC-721
Standar inti mencakup fungsi untuk memeriksa kepemilikan, mentransfer NFT, dan mengelola izin transfer.Fungsi wajibnya mencakup
Fungsi balanceOf
Fungsi
Fungsi ownerOf
Fungsi
Alamat yang dikembalikan oleh
Fungsi transferFrom
Fungsi
NFT yang ditransfer ke kontrak yang tidak kompatibel melalui
Fungsi safeTransferFrom
ERC-721 menyediakan dua versi
Jika penerimanya adalah smart contract, kontrak NFT akan memanggil fungsi
Apa Itu Penerima ERC-721?
Penerima ERC-721 adalah smart contract yang menerapkan
Penerima yang kompatibel mengembalikan selector yang diharapkan, biasanya dinyatakan sebagai
Dokumentasi implementasi ERC-721 saat ini mencakup antarmuka penerima dan utilitas penerima dasar untuk kontrak yang perlu menerima NFT.
Penerima sebaiknya memverifikasi kontrak NFT yang memicu callback sebelum mencatat deposit atau memberikan manfaat.Persetujuan ERC-721
Persetujuan ERC-721 memungkinkan pemilik NFT mendelegasikan wewenang transfer tanpa langsung memindahkan kepemilikan.Persetujuan khusus token berlaku untuk satu ID token.Persetujuan operator berlaku untuk semua NFT yang dimiliki satu alamat dalam kontrak tersebut.Persetujuan dicatat on-chain dan dapat digunakan tanpa tanda tangan tambahan dari pemilik selama masih berlaku.Pengguna sebaiknya memperlakukan permintaan persetujuan NFT sebagai izin finansial yang sensitif.Menyetujui alamat yang tidak tepercaya dapat memungkinkan pihak tersebut mentransfer NFT bernilai tinggi.Fungsi approve
Fungsi
Fungsi getApproved
Fungsi
Aplikasi yang memeriksa apakah suatu akun dapat mentransfer NFT juga harus mempertimbangkan
Fungsi setApprovalForAll
Fungsi
Fungsi isApprovedForAll
Fungsi
Fungsi ini mengembalikan
Peristiwa ERC-721
ERC-721 menetapkan peristiwa
Peristiwa Transfer
Peristiwa
Peristiwa Approval dan ApprovalForAll
Peristiwa
Peristiwa
Deteksi Antarmuka ERC-165
Setiap kontrak ERC-721 yang patuh harus mendukung deteksi antarmuka ERC-165.Standar ERC-165 menetapkan fungsi
ID antarmuka inti ERC-721 adalah
Kontrak yang patuh seharusnya mengembalikan
Metadata ERC-721
ERC-721 menyertakan ekstensi metadata opsional.Ekstensi ini menambahkan fungsi
ID antarmuka ERC-165-nya adalah
Cara Kerja tokenURI
Fungsi
Peristiwa Pembaruan Metadata
ERC-721 sendiri tidak menyediakan peristiwa standar untuk setiap perubahan metadata.Ekstensi opsional pembaruan metadata ERC-4906 menambahkan peristiwa
ID antarmuka ERC-4906 adalah
Enumerasi ERC-721
Ekstensi enumerasi opsional membuat suplai NFT dan daftar kepemilikan dapat ditemukan melalui fungsi on-chain.ID antarmukanya adalah
Ekstensi ini menambahkan
Fungsi
Aplikasi off-chain dapat merekonstruksi kepemilikan melalui peristiwa
Minting Token ERC-721
Minting membuat ID token valid yang baru dan menetapkan pemilik pertamanya.Standar inti ERC-721 tidak menetapkan siapa yang dapat melakukan mint atau bagaimana mint harus diminta.Koleksi dapat mengizinkan mint publik, membatasi mint kepada peran yang diotorisasi, mewajibkan pembayaran, menggunakan allowlist, atau membuat semua NFT saat deployment.Mint biasanya mengeluarkan peristiwa
Burning Token ERC-721
Burning menghapus NFT dari catatan kepemilikan yang valid.Antarmuka inti ERC-721 tidak mewajibkan fungsi burn publik.Koleksi dapat mengizinkan pemilik, operator yang disetujui, administrator, atau logika protokol untuk melakukan burn token.Burn biasanya mengeluarkan peristiwa
Royalti ERC-721
Royalti kreator bukan bagian dari standar inti ERC-721.Standar royalti NFT ERC-2981 opsional menyediakan metode untuk melaporkan penerima royalti dan jumlah yang disarankan berdasarkan harga jual.
ERC-2981 menyampaikan informasi royalti, tetapi tidak mewajibkan setiap transfer atau aplikasi membayarnya.Koleksi dapat menetapkan pengaturan royalti default atau khusus token jika implementasinya mendukung.Penerima dan tarif royalti dapat diubah jika kontrak memberikan wewenang tersebut kepada administrator.Pengguna sebaiknya tidak berasumsi bahwa setiap transfer ERC-721 mencakup pembayaran kreator yang dapat ditegakkan.ERC-721 vs. ERC-20
ERC-20 dirancang untuk saldo token fungibel, sedangkan ERC-721 dirancang untuk NFT yang diidentifikasi secara individual.Akun ERC-20 dapat menyimpan jumlah token yang dapat dibagi.Akun ERC-721 memiliki ID token yang berbeda-beda.Fungsi
ERC-721 vs. ERC-1155
ERC-721 merepresentasikan ID token yang dimiliki secara individual melalui satu kontrak koleksi NFT.Standar multi-token ERC-1155 memungkinkan satu kontrak mengelola banyak ID token dengan saldo jumlah yang terpisah.
ID token ERC-1155 dapat merepresentasikan aset fungibel, semi-fungibel, atau unik.Satu alamat dapat memiliki beberapa unit dari satu ID token ERC-1155.Satu ID token ERC-721 yang valid memiliki satu pemilik dalam model standar.ERC-1155 juga mendukung transfer batch standar, sedangkan transfer ERC-721 biasanya memproses satu NFT setiap kali.Standar yang sesuai bergantung pada kebutuhan kepemilikan dan inventaris proyek.Kasus Penggunaan ERC-721
Koleksi seni digital dapat menggunakan token ERC-721 untuk mencatat kepemilikan karya yang diidentifikasi secara individual.Game blockchain dapat menggunakan NFT untuk karakter, tanah, perlengkapan, atau item unik lainnya.Sistem keanggotaan dapat menggunakan NFT untuk merepresentasikan hak akses atau status komunitas.Aplikasi keuangan dapat melakukan tokenisasi posisi utang unik, polis asuransi, posisi likuiditas, atau klaim.Sistem acara dapat menerbitkan tiket dengan identitas unik dan aturan transfer yang dikendalikan.Proyek dapat menghubungkan NFT dengan produk fisik, meskipun smart contract tidak dapat memverifikasi secara mandiri kepemilikan atau hak legal atas barang fisik tersebut.Token ERC-721 juga dapat merepresentasikan kredensial, tetapi data pribadi sensitif sebaiknya tidak disimpan secara terbuka di blockchain publik.Kepemilikan NFT vs. Hak Cipta
Memiliki token ERC-721 berarti kontrak blockchain mengakui alamat pemilik untuk ID token tersebut.Hal itu tidak secara otomatis mengalihkan hak cipta atas karya seni atau media yang terkait.Hak cipta dan hak penggunaan komersial bergantung pada lisensi kreator, perjanjian penjualan, dan hukum yang berlaku.Proyek dapat memberikan hak komersial luas, penggunaan pribadi terbatas, atau tidak memberikan hak kekayaan intelektual tambahan.Metadata juga dapat merujuk pada konten yang penggunaannya tidak diizinkan kepada penerbit token.Pembeli sebaiknya meninjau ketentuan hukum proyek, bukan berasumsi bahwa kepemilikan token memberikan semua hak yang mungkin.Risiko Persetujuan ERC-721
Permintaan persetujuan berbahaya merupakan risiko keamanan utama bagi pemilik NFT.Aplikasi phishing dapat meminta
Transfer Aman dan Risiko Reentrancy
Transfer NFT aman memanggil kode eksternal saat penerimanya adalah smart contract.Penerima dapat memanggil kembali aplikasi awal sebelum operasi pertama selesai sepenuhnya.Perilaku ini dapat menimbulkan kerentanan reentrancy pada kontrak minting, penjualan, pinjaman, staking, escrow, atau penarikan.Panduan keamanan Solidity resmi menyarankan agar pemeriksaan dan perubahan status penting diselesaikan sebelum interaksi eksternal jika logika yang dimaksud memungkinkan.
Developer juga sebaiknya mempertimbangkan reentrancy lintas fungsi karena penerima berbahaya dapat memanggil fungsi lain yang terbuka.Callback penerima sebaiknya diuji dengan kontrak berbahaya, bukan dianggap sebagai notifikasi sederhana.Risiko Keamanan Metadata
Konten yang terlihat pada NFT dapat bergantung pada data di luar blockchain.Server eksternal dapat tidak tersedia, mengubah respons, atau menghapus file.URI yang dapat diubah dapat mengarah ke konten berbeda setelah pembelian.Metadata dapat berisi deskripsi menyesatkan, karya seni salinan, tautan eksternal tersembunyi, atau format file yang tidak aman.Penyimpanan terdesentralisasi dapat meningkatkan persistensi, tetapi ketersediaan konten dan pengenal yang benar tetap diperlukan.Metadata yang sepenuhnya on-chain mengurangi ketergantungan pada hosting eksternal, tetapi dapat meningkatkan biaya deployment dan pembaruan.Risiko Keaslian Kontrak
Siapa pun dapat men-deploy kontrak ERC-721 dengan nama, simbol, gambar, atau ID token yang familiar.Kompatibilitas antarmuka tidak membuktikan keaslian koleksi.Pengguna sebaiknya memverifikasi jaringan blockchain dan alamat kontrak lengkap melalui sumber proyek yang tepercaya.Publikasi source code terverifikasi menunjukkan kesesuaian kode, tetapi tidak menjamin perilaku bisnis yang jujur atau desain ekonomi yang aman.Riwayat token, pernyataan kreator, izin administrator, dan kontrol metadata juga perlu ditinjau.Kontrak ERC-721 yang Dapat Di-upgrade
Kontrak ERC-721 dapat menggunakan proxy yang memungkinkan logikanya diubah setelah deployment.Upgrade dapat memperbaiki bug atau menambahkan fitur.Upgrade juga dapat mengubah perilaku minting, transfer, persetujuan, metadata, royalti, jeda, atau burn.Wewenang upgrade yang disusupi dapat memasang logika berbahaya yang memengaruhi kepemilikan NFT.Pengguna sebaiknya mencari tahu siapa yang mengendalikan upgrade, berapa banyak tanda tangan yang diperlukan, dan apakah ada jeda waktu.Koleksi yang disebut terdesentralisasi masih dapat memiliki peran administrator dengan wewenang besar.Cara Developer Menerapkan ERC-721
Developer sebaiknya menggunakan implementasi yang telah ditinjau dan aktif dipelihara, kecuali desain khusus memang diperlukan.Panduan pengembangan ERC-721 saat ini menjelaskan implementasi inti dan ekstensi opsional untuk metadata, enumerasi, burning, jeda, royalti, voting, dan penggunaan lainnya.
Akses minting harus sesuai dengan aturan suplai yang didokumentasikan untuk koleksi.Transfer dan persetujuan harus menolak pemanggil yang tidak berwenang serta alamat yang tidak valid.Safe minting sebaiknya digunakan jika token dapat diterbitkan langsung ke smart contract.Developer sebaiknya menguji penerima berbahaya, reentrancy, ID token tidak valid, penghapusan persetujuan, izin operator, burn, dan deteksi antarmuka.Fungsi administratif sebaiknya menggunakan kontrol akses yang jelas dan mengeluarkan peristiwa yang informatif.Cara Mengevaluasi NFT ERC-721
Langkah pertama adalah memverifikasi jaringan, alamat kontrak, dan ID token.Langkah kedua adalah memastikan kontrak mendukung antarmuka inti ERC-721.Langkah ketiga adalah memeriksa pemilik saat ini dan riwayat transfer.Langkah keempat adalah meninjau persetujuan khusus token dan persetujuan untuk seluruh koleksi.Langkah kelima adalah memeriksa cara metadata dan media terkait disimpan.Langkah keenam adalah mengidentifikasi wewenang minting, burning, jeda, pembekuan, dan upgrade.Langkah ketujuh adalah menentukan apakah klaim suplai dan kelangkaan dapat diverifikasi on-chain.Langkah kedelapan adalah meninjau audit dan source code tanpa menganggapnya sebagai jaminan.Langkah kesembilan adalah memahami hak legal atau komersial yang menyertai NFT.Langkah kesepuluh adalah menguji kontrak yang tidak dikenal dengan transaksi bernilai rendah sebelum mempertaruhkan aset bernilai tinggi.Contoh Transfer ERC-721
Misalkan Alice memiliki ID token 101 dalam koleksi ERC-721.Fungsi
Wallet-nya memanggil
Kontrak memperbarui catatan kepemilikannya dan memanggil
Jika selector yang benar dikembalikan, transfer selesai dan kontrak NFT mengeluarkan peristiwa
Kesalahan Umum ERC-721
Salah satu kesalahan umum adalah menganggap nama koleksi dapat mengidentifikasi NFT secara unik.Kesalahan lain adalah memberikan akses operator untuk seluruh koleksi tanpa memeriksa alamat operator.Kesalahan ketiga adalah percaya bahwa memutus koneksi wallet akan menghapus persetujuan on-chain.Kesalahan keempat adalah menggunakan
FAQ
Apa arti ERC-721?
ERC-721 adalah standar Ethereum yang menetapkan aturan kepemilikan, transfer, persetujuan, dan antarmuka untuk non-fungible token.Apakah ERC-721 sama dengan NFT?
ERC-721 adalah standar teknis NFT, sedangkan NFT merupakan istilah lebih luas yang dapat mencakup token yang dibuat berdasarkan standar lain.Apakah ERC-721 bersifat fungibel?
Tidak. Setiap ID token ERC-721 yang valid dilacak secara individual dan dapat memiliki properti serta nilai berbeda.Apa ID antarmuka ERC-721?
ID antarmuka inti ERC-721 adalah
Apa yang mengidentifikasi NFT ERC-721?
NFT diidentifikasi secara bersamaan melalui jaringan blockchain, alamat smart contract, dan ID token.Apa yang dikembalikan balanceOf?
Fungsi tersebut mengembalikan jumlah NFT yang dimiliki suatu alamat dalam satu kontrak ERC-721.Apa yang dikembalikan ownerOf?
Fungsi tersebut mengembalikan alamat pemilik saat ini untuk ID token yang valid.Apa perbedaan transferFrom dan safeTransferFrom?
Bisakah NFT ERC-721 dikirim ke smart contract?
Bisa, tetapi transfer aman biasanya sebaiknya digunakan agar penerima harus mengonfirmasi bahwa mereka dapat menerima NFT.Apa fungsi approve?
Fungsi ini memberikan izin kepada satu alamat untuk mentransfer satu NFT tertentu.Apa fungsi setApprovalForAll?
Fungsi ini mengotorisasi operator untuk mengelola semua NFT yang dimiliki pemilik dalam kontrak ERC-721 tersebut.Apakah persetujuan operator kedaluwarsa otomatis?
Tidak. Persetujuan operator standar tetap aktif sampai pemilik mencabutnya atau logika kontrak khusus mengubah dampaknya.Apakah transfer NFT menghapus persetujuan khusus token?
Ya, persetujuan khusus token dihapus saat NFT ditransfer.Apakah metadata wajib untuk ERC-721?
Tidak. Antarmuka metadata bersifat opsional, meskipun sebagian besar koleksi NFT menerapkannya.Bisakah metadata ERC-721 berubah?
Bisa. Metadata dapat berubah kecuali kontrak dan sistem penyimpanan memberikan jaminan imutabilitas yang dapat diverifikasi.Apakah setiap kontrak ERC-721 memiliki totalSupply?
Tidak.
Apakah ERC-721 menetapkan aturan minting?
Standar ini mengenali minting melalui peristiwa kepemilikan, tetapi tidak mewajibkan fungsi mint publik atau kebijakan suplai tertentu.Apakah ERC-721 menetapkan aturan burning?
Tidak. Fungsi burn bersifat opsional dan bergantung pada implementasi masing-masing.Apakah ERC-721 menegakkan royalti?
Tidak. Royalti memerlukan logika atau standar terpisah, dan informasi royalti tidak secara otomatis mewajibkan pembayaran.Apakah kepemilikan token ERC-721 memberikan hak cipta?
Tidak. Hak kekayaan intelektual bergantung pada lisensi dan perjanjian hukum yang berlaku.Bisakah kontrak ERC-721 di-upgrade?
Sebagian kontrak dapat di-upgrade melalui sistem proxy, sementara yang lain tidak dapat diubah setelah deployment.Bisakah NFT ERC-721 difraksionalkan?
Kepemilikan fraksional memerlukan kontrak atau mekanisme token terpisah karena token inti ERC-721 dimiliki sebagai satu unit utuh.Bisakah persetujuan ERC-721 digunakan untuk mencuri NFT?
Bisa. Alamat berbahaya yang disetujui dapat mentransfer NFT yang tercakup dalam izinnya.Apakah kepatuhan ERC-721 membuktikan keaslian?
Tidak. Siapa pun dapat men-deploy kontrak yang kompatibel, sehingga alamat koleksi dan penerbitnya harus diverifikasi secara independen.Apa manfaat utama ERC-721?
Manfaat utamanya adalah perilaku kepemilikan dan transfer yang terstandar sehingga banyak aplikasi kripto dapat berinteraksi dengan aset tokenisasi yang unik.Kesimpulan
ERC-721 adalah standar utama Ethereum untuk merepresentasikan non-fungible token yang diidentifikasi secara individual.Standar ini menetapkan kueri kepemilikan, transfer, persetujuan, izin operator, peristiwa, dan aturan deteksi antarmuka yang umum.Setiap NFT diidentifikasi secara unik melalui jaringan blockchain, alamat kontrak, dan ID token.ID antarmuka intinya adalah
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

