NFT trên Solana không chỉ là những tấm ảnh JPEG

Tôi từng nghĩ NFT chỉ là những hình ảnh kỹ thuật số.

Sau một tuần xây dựng chúng trên Solana, quan điểm của tôi đã thay đổi. Tôi đã dành thời gian để tạo NFT, đính kèm metadata và tổ chức các bộ sưu tập trên devnet.

Dưới đây là những gì tôi đã học được.

NFT không phải là một loại tài sản riêng biệt trên Solana.

Chúng sử dụng cùng một mô hình SPL token như các token thông thường. Chúng vẫn sử dụng:

  • Một tài khoản mint (mint account)
  • Một tài khoản token (token account)
  • Một ví chủ sở hữu (owner wallet)

Sự khác biệt duy nhất nằm ở cấu hình. Để biến một token thành NFT, bạn thiết lập các quy tắc sau:

  • Tổng cung bằng 1
  • 0 chữ số thập phân (decimals)
  • Vô hiệu hóa quyền mint (mint authority) sau khi mint xong

Việc vô hiệu hóa quyền mint sẽ khóa tổng cung vĩnh viễn. Những gì trông có vẻ như một danh mục tài sản mới thực chất chỉ là cùng một kiến trúc với các quy tắc khác nhau.

Metadata giúp NFT trở nên có ý nghĩa. Tôi đã sử dụng Metadata Extension để thêm tên, biểu tượng (symbol) và một URI.

NFT không lưu trữ hình ảnh. Việc lưu trữ các tệp lớn on-chain là quá đắt đỏ. Thay vào đó, NFT lưu trữ một URI. URI này trỏ đến một tệp JSON off-chain. Khi một ví hiển thị NFT của bạn, nó sẽ đọc metadata on-chain, đi theo URI và tìm thấy hình ảnh.

Tôi cũng đã tìm hiểu về các bộ sưu tập (collections). Bằng cách sử dụng các extension Group và Member, tôi đã liên kết nhiều NFT với một NFT bộ sưu tập duy nhất.

Hãy coi điều này giống như mối quan hệ cha-con trong một cơ sở dữ liệu.

  • Bộ sưu tập là cha.
  • Các NFT là thành viên.

Mối quan hệ này tồn tại on-chain. Nó không chỉ là một tính năng của ứng dụng. Bất kỳ ai cũng có thể xác minh xem một NFT có thuộc về một bộ sưu tập hay không bằng cách kiểm tra dữ liệu tài khoản.

Tôi cũng đã thử nghiệm cập nhật NFT. Tôi đã thay đổi tên và cập nhật các URI. Các thay đổi diễn ra trên chuỗi (on-chain) ngay lập tức. Tuy nhiên, hình ảnh trong ví có thể không thay đổi ngay. Điều này xảy ra vì các ví lưu trữ metadata trong bộ nhớ đệm (cache). Dữ liệu on-chain là chính xác, nhưng lớp hiển thị cần thời gian để làm mới.

Bài học lớn nhất: Đừng giả định cách thức hoạt động của một thứ gì đó. Hãy kiểm tra tài khoản và xác minh dữ liệu.

NFT được xây dựng trên cùng một nền tảng như mọi tài sản khác trên Solana: mints, accounts và các quy tắc chương trình. Hình ảnh là dành cho người dùng. Cấu trúc mới là thứ định nghĩa tài sản.

Nguồn: https://dev.to/devduchess/understanding-solana-nfts-as-a-web2-developer-more-than-just-jpegs-5ekm