Lompat ke konten

ERC-721

ERC-721 adalah antarmuka standar Ethereum untuk token yang tidak dapat dipertukarkan (NFT): setiap token diidentifikasi secara terpisah, sementara kontrak pintar mencatat aturan kepemilikan dan transfernya.

Diperbarui

Hanya untuk tujuan edukasi; bukan merupakan nasihat investasi atau rekomendasi investasi. Investasi dapat mengakibatkan kerugian.

Jawaban langsung

ERC-721 adalah antarmuka standar Ethereum untuk token yang tidak dapat dipertukarkan. Alih-alih mencatat satu saldo yang dapat dipertukarkan, kontrak ERC-721 melacak setiap token melalui tokenId, menampilkan pemiliknya, serta menentukan cara token dapat ditransfer atau diberi otorisasi. Token diidentifikasi oleh pasangan alamat kontrak dan tokenId; standar ini sendiri tidak menetapkan harga, keaslian, kelangkaan, atau hak hukum aset.

ERC-721 berbeda dari ERC-20 karena unit ERC-20 bersifat fungibel: satu unit dimaksudkan untuk dapat ditukar dengan unit lain. Token ERC-721 dapat berada dalam koleksi yang sama tetapi memiliki pengenal dan metadata berbeda. Dompet atau marketplace dapat mendukung keduanya, tetapi pemanggilan transfer dan persetujuannya berbeda.

Pertanyaan praktisnya bukan apakah proyek mengaku menggunakan “ERC-721”, melainkan apa yang sebenarnya dilakukan kontrak dan sistem di sekitarnya. Periksa implementasi, izin, metadata, otorisasi marketplace, likuiditas, dan hak yang dijanjikan kepada pemegang sebelum menganggap NFT sebagai aset.

Cara kerja

Identitas dan kepemilikan

Kontrak mencatat pemilik untuk setiap tokenId yang ada. ownerOf mengembalikan alamat itu, sedangkan balanceOf menghitung jumlah token yang dimiliki suatu alamat. Minting biasanya membuat pengenal baru dan menerbitkan peristiwa Transfer dari alamat nol; burning biasanya menerbitkan transfer ke alamat nol. Peristiwa berguna untuk pengindeksan, tetapi keadaan kontraklah yang menjadi acuan.

Transfer dan persetujuan

Pemilik dapat memanggil transferFrom secara langsung atau memberi otorisasi satu alamat untuk satu token dengan approve. setApprovalForAll memberi operator kuasa atas semua token yang dimiliki pemilik dalam koleksi tersebut. Ini praktis untuk marketplace, tetapi izinnya luas. Periksa operator berdasarkan alamat kontrak dan cabut persetujuan on-chain yang tidak lagi diperlukan. Pesanan marketplace yang ditandatangani terpisah dari persetujuan on-chain: membatalkan yang satu belum tentu membatalkan yang lain.

safeTransferFrom juga memeriksa apakah penerima berupa kontrak menerapkan IERC721Receiver. Pemeriksaan ini membantu mencegah token dikirim ke kontrak yang tidak dapat menerimanya; transferFrom tidak menjalankan callback penerima. Tidak ada fungsi yang menjamin marketplace, bridge, atau dompet akan menangani token dengan benar.

Metadata dan royalti

Ekstensi metadata opsional menyediakan tokenURI, yang dapat menunjuk ke data yang disimpan on-chain atau di tempat lain. Base URI yang dapat diubah, kontrak yang dapat di-upgrade, administrator, atau layanan hosting terpusat dapat mengubah tampilan token setelah minting. Penyimpanan permanen dan terdesentralisasi mengurangi sebagian ketergantungan, tetapi tidak membuktikan pencipta, asal, atau kepemilikan kekayaan intelektual.

ERC-721 tidak mewajibkan pasar sekunder membayar royalti kepada pencipta. Koleksi dapat menerapkan antarmuka royalti opsional EIP-2981, tetapi marketplace memilih apakah akan mematuhinya dan antarmuka itu tidak menyelesaikan atau memaksa pembayaran. Batas pasokan, keacakan, keaslian karya, lisensi merek, dan janji lain harus diperiksa secara terpisah melalui kode, aturan distribusi, dan dokumen hukum.

Contoh

Misalkan sebuah kontrak mencetak token #42 kepada Alice. Token itu tidak diidentifikasi secara global hanya oleh 42; alamat kontrak koleksinya juga bagian dari identitas. Alice dapat mendaftarkannya di marketplace dengan memberikan approve untuk token tersebut atau setApprovalForAll kepada operator marketplace. Saat penjualan berjalan, marketplace memanggil fungsi transfer dan kontrak memeriksa kepemilikan serta otorisasi. Alice sebaiknya mencabut persetujuan seluruh koleksi setelah tidak membutuhkannya.

Gambar yang ditampilkan marketplace adalah pertanyaan metadata yang terpisah. Alice harus memeriksa perilaku tokenURI, izin pembaruan, pengaturan hosting, dan lisensi koleksi, bukan berasumsi bahwa kepemilikan token memindahkan hak cipta atau hak penggunaan komersial.

Risiko

  • Risiko kontrak: bug, upgrade berbahaya, administrator istimewa, atau hook transfer yang salah dapat mengunci atau memindahkan token.

  • Risiko otorisasi: setApprovalForAll untuk seluruh koleksi atau marketplace yang diretas dapat memindahkan semua token yang disetujui dalam koleksi itu.

  • Risiko metadata dan hukum: berkas off-chain dapat hilang atau berubah, dan kepemilikan token tidak otomatis memberi hak cipta, merek, atau hak hukum lain.

  • Risiko pasar: harga NFT dapat sangat bergejolak, likuiditas bisa tipis, dan floor price yang ditampilkan mungkin tidak dapat dieksekusi untuk token tertentu.

Operasi on-chain umumnya tidak dapat dibatalkan. Verifikasi kontrak koleksi, alamat penerima, persetujuan, kontrol metadata, dan detail transaksi sebelum menandatangani; anggap klaim promotor atau komunitas sebagai klaim yang harus diverifikasi, bukan jaminan.

Kesalahpahaman umum

Mitos 1: ERC-721 menjamin kelangkaan

Standar ini hanya membedakan token dalam satu kontrak. Penerbit dapat mencetak token tambahan, menerbitkan koleksi serupa, atau membuat beberapa pengenal menunjuk ke media yang setara. Kelangkaan bergantung pada aturan pasokan dan izin yang menegakkannya.

Mitos 2: NFT mencakup semua hak kekayaan intelektual

Blockchain mencatat transfer token. Hak cipta, reproduksi, penggunaan komersial, adaptasi, dan merek bergantung pada lisensi koleksi serta hukum yang berlaku; semuanya tidak dapat disimpulkan dari ownerOf.

Mitos 3: Membatalkan listing marketplace menghapus semua izin

Listing, tanda tangan dan masa berlakunya, serta approve atau setApprovalForAll on-chain adalah keadaan yang terpisah. Periksa dan cabut izin on-chain secara mandiri ketika tidak lagi diperlukan.

Topik terkait

Sumber

Navigasi

Cari di wiki...