Owlio
ID
← Blog
PanduanPemula

Cara memeriksa pemegang NFT: ERC-721 dan ERC-1155

Gambar NFT atau jumlah koleksi belum menunjukkan siapa yang memegang token tertentu. Pilih kueri baca saja sesuai standar tokennya.

Untuk token ERC-721 yang masih ada, baca ownerOf(tokenId) pada kontrak koleksi yang benar guna mengetahui pemegang yang tercatat saat ini. Untuk ERC-1155, baca balanceOf(account, id) guna mengetahui berapa unit dari ID tersebut yang dipegang suatu akun. Keduanya menjawab pertanyaan berbeda: unit dari satu jenis ERC-1155 dapat tersebar di beberapa akun.

Mulailah dari jaringan, alamat lengkap kontrak koleksi, dan ID token. Pertahankan ketiga pengenal ini sebagai satu kesatuan saat memeriksa melalui penjelajah blockchain atau pembaca kontrak yang sudah Anda kenal. Kesamaan gambar, nama koleksi, atau jumlah total NFT belum cukup untuk mengidentifikasi kepemilikan token tertentu.

Panduan ini memeriksa catatan token yang bersifat publik. Pemeriksaan ini tidak membuktikan identitas orang di balik alamat, keaslian atau harga karya, maupun hak Anda dalam layanan kustodi. Prosedurnya tidak mencakup transfer atau koneksi dompet.

Pilih kueri sesuai standar token

Antarmuka ERC-721 menyediakan penghitungan per akun sekaligus pencarian token individual. Untuk ERC-1155, antarmuka standarnya meminta akun dan ID jenis token secara bersamaan.

Standar dan metode baca Masukan Anda Makna hasil
ERC-721 ownerOf(tokenId) Satu ID token Alamat pemegang token yang masih ada itu
ERC-721 balanceOf(account) Satu alamat akun Jumlah NFT dari kontrak ini yang dipegangnya
ERC-1155 balanceOf(account, id) Akun dan ID jenis token Jumlah unit ID tersebut yang dipegangnya

Misalkan sebuah koleksi ERC-721 hipotetis memiliki token dengan ID 42 dan 43. Akun A memegang 42; Akun B memegang 43. Jumlah token pada kedua akun sama-sama 1. Jumlah tersebut tidak menunjukkan akun mana yang memegang 42; kueri dengan ID tertentu bisa menunjukkannya.

Sekarang bayangkan kontrak ERC-1155 hipotetis yang terpisah. Akun A memegang 3 unit ID 42, sedangkan Akun B memegang 2. Kedua saldo bisa positif pada cuplikan keadaan yang sama. Menyebut Akun A sebagai satu-satunya pemilik ID 42 berarti mengabaikan unit milik Akun B. Contoh ini menjelaskan cara membaca data, bukan hasil dari koleksi yang sedang aktif.

Pastikan koleksi dan ID sebelum mempercayai kecocokan

ID token berada dalam kontrak tertentu. ID 42 pada satu koleksi tidak mengidentifikasi ID 42 pada koleksi lain. Aturan pengenal ERC-721 menjelaskan pasangan kontrak dan ID pada suatu blockchain; jangan menganggap ID selalu berurutan.

Temukan informasi penerapan kontrak resmi koleksi melalui jalur tepercaya, atau gunakan catatan transaksi yang Anda kenal, untuk memastikan jaringan dan alamat kontrak lengkap. Kontrak tiruan bisa memakai nama serta gambar yang familier. Respons fungsi yang tampak sesuai standar dari tiruan itu tidak membuktikan bahwa kontraknya adalah koleksi yang dimaksud.

Ambil ID dari detail item, jangan menebaknya dari nama. Pertahankan nilainya persis. Jika satu antarmuka menampilkan ID heksadesimal dan yang lain desimal, pastikan keduanya mewakili bilangan bulat yang sama sebelum membandingkan. Alamat kontrak mengidentifikasi koleksi, sedangkan alamat akun adalah pemegang yang Anda periksa. Panduan alamat dan kontrak menjelaskan perbedaan ini.

Untuk item yang tidak Anda kenali, ikuti panduan keamanan NFT spam sebelum berinteraksi dengan tautan dalam deskripsinya. Anda bisa memeriksa catatan publik melalui jalur yang sudah dipercaya tanpa mengikuti tautan klaim.

Lakukan pemeriksaan baca saja dan simpan hasilnya

Langkah berikut menjelaskan cara memeriksa catatan publik. Langkah ini tidak diuji pada dompet sungguhan untuk artikel ini. Dokumentasi primer metode-metode tersebut diperiksa pada 24 Oktober 2026.

  1. Catat identitas lengkap. Simpan jaringan, kontrak koleksi, dan ID token yang tepat. Tambahkan alamat akun jika Anda memeriksa dompet tertentu.
  2. Pastikan standar dan pilih metode baca publiknya. Gunakan detail kontrak dan antarmuka terverifikasi di penjelajah tepercaya. Nama label antarmuka bisa berbeda. Untuk ERC-721 gunakan ownerOf dengan ID; untuk ERC-1155 gunakan balanceOf dengan akun dan ID. Antarmuka yang tidak tersedia atau tidak didukung perlu ditelusuri, bukan alasan untuk langsung menganggap token memakai standar lain.
  3. Baca keadaan saat ini dan catat waktu pengamatannya. Simpan alamat atau jumlah unit yang dikembalikan serta nomor blok jika tersedia. Jika memungkinkan, bandingkan kueri pada blok yang sama; beberapa kueri keadaan terbaru yang terpisah dapat mengamati transfer yang terjadi di antaranya.
  4. Tafsirkan jawaban sesuai cakupannya. Bandingkan alamat lengkap hasil ERC-721 dengan akun yang dimaksud. Untuk ERC-1155, jumlah positif memastikan adanya unit yang tercatat bagi akun tersebut, sedangkan respons nol yang valid mencatat tidak ada unit di sana pada saat itu. Kedua hasil tersebut tidak merinci seluruh pemegang lain.
  5. Tandai kueri gagal atau tidak tersedia sebagai belum diketahui. Simpan galat atau hasil yang tidak tersedia dalam catatan Anda. Periksa ID, kontrak, jaringan, dan pembaca sebelum menyimpulkan token tidak ada. Jangan mengubah kegagalan kueri menjadi saldo nol.

Referensi OpenZeppelin ERC721 mensyaratkan token yang masih ada untuk metode publik ownerOf. Karena itu, ID yang tidak ada atau sudah dibakar bisa menyebabkan kegagalan alih-alih mengembalikan pemegang yang berguna. Kegagalan itu saja tidak menjelaskan apakah Anda salah mengetik ID, memilih kontrak lain, atau menanyakan token yang tidak valid.

Jangan samakan fungsi publik ini dengan fungsi bantu internal yang namanya diawali garis bawah. Yang Anda periksa adalah antarmuka publik yang terdokumentasi. Pembacaan ini tidak memerlukan tanda tangan, persetujuan, atau frasa pemulihan. Jika situs memintanya hanya untuk menampilkan pemegang, hentikan alur tersebut.

Jika pemegang yang tercatat adalah kontrak

NFT dapat dipegang akun kontrak. Karena itu, alamat hasil pencarian pemegang mungkin milik vault, escrow, mekanisme staking, atau layanan lain, bukan dompet yang Anda gunakan untuk menandatangani. Hal itu sendiri belum menentukan siapa yang memiliki hak ekonomi atau apakah item bisa dipulihkan.

Jika Anda memang menyetor NFT ke layanan, periksa catatan resmi layanan tersebut dan transaksi setoran yang Anda kenal. Hubungkan hak akun Anda dengan koleksi dan ID yang tepat. Jangan mentransfer atau menarik aset hanya agar galeri dompet menampilkan gambar yang diharapkan.

Untuk posisi likuiditas, memeriksa pemegang hanya memberi tahu alamat yang memegang NFT. Panduan NFT Uniswap v3 membahas tugas terpisah untuk memeriksa aset dan biaya pada posisi dasarnya. Alamat pemegang NFT saja tidak memberikan kedua jumlah itu.

Akhiri dengan catatan kepemilikan yang jelas

Referensi OpenZeppelin ERC1155 menjelaskan hasilnya sebagai unit jenis tertentu yang dipegang suatu akun. Simpan jumlah tersebut bersama akun dan ID. Jangan menggantinya dengan label pemilik tunggal ala ERC-721 atau membaginya memakai skala desimal ERC-20 yang tidak terkait.

Catatan Anda lengkap jika memuat jaringan, kontrak, ID token, standar, pemegang atau unit per akun yang dikembalikan, serta blok atau waktu pengamatan. Tambahkan catatan kustodi jika pemegang yang tercatat merupakan kontrak layanan. Jika unsur penting masih belum terjawab, tandai kepemilikan itu sebagai belum terverifikasi.

Galeri berguna untuk melihat koleksi; catatan ini menjawab pertanyaan yang lebih sempit tentang apa yang dilaporkan kontrak pilihan Anda untuk token tertentu. Catatan itu tidak mengesahkan koleksi, memberi izin transfer, mengidentifikasi seseorang, atau menghitung nilai jual.

Pertanyaan umum

Apakah saldo ERC-721 sebesar 1 membuktikan dompet memegang NFT yang saya maksud?

Tidak. balanceOf menghitung NFT milik akun dalam kontrak tersebut. Gunakan ownerOf dengan ID token tertentu untuk mengetahui pemegang yang tercatat saat ini. Pastikan jaringan dan kontrak koleksinya sama.

Bisakah beberapa dompet memegang ID token ERC-1155 yang sama?

Ya. Satu ID ERC-1155 dapat mewakili banyak unit. balanceOf menerima akun dan ID, lalu melaporkan jumlah unit jenis itu yang dimiliki akun tersebut. Hasil positif tidak membuktikan bahwa akun itu satu-satunya pemegang.

Apakah saya perlu menghubungkan dompet atau menandatangani untuk memeriksa pemegang?

Kueri publik baca saja ini tidak memerlukan tanda tangan dompet, persetujuan, atau frasa pemulihan. Hasilnya menunjukkan kepemilikan yang tercatat, bukan identitas pengendali alamat atau hak terpisah atas aset dalam kustodi.