Khám phá việc sử dụng Token Solana làm chứng nhận đăng ký của người dùng
NFT (non-fungible token) là một loại token "không thể thay thế", rất phù hợp để sử dụng làm công cụ xác thực danh tính. Bài viết này sẽ khám phá tính khả thi của việc sử dụng NFT làm chứng nhận đăng ký thông qua một ví dụ đơn giản.
Giới thiệu công cụ
SPL Token
Solana cung cấp một chương trình Token chung, thuộc về Thư viện Chương trình Solana (SPL). SPL bao gồm nhiều chương trình thông dụng như Token, Swap, Memo, và cung cấp thư viện khách hàng hoàn chỉnh cũng như công cụ CLI, điều này đã tạo điều kiện thuận lợi rất nhiều cho các nhà phát triển Solana.
Solana Playground
Solpy cung cấp một môi trường trực tuyến để viết và triển khai hợp đồng Solana, mặc định bao gồm một số công cụ thường dùng, chẳng hạn như SPL Token. Chúng ta có thể dễ dàng tạo và quản lý Token thông qua spl-token-cli.
Tạo Token xác thực
Chúng tôi sẽ tạo một Token NFT. Nếu người dùng Mint Token này, thì được coi là địa chỉ ví này đã được đăng ký trong hệ thống, nếu không sẽ nhắc nhở người dùng thực hiện đăng ký trước.
tạo Token
Sử dụng spl-token để tạo một Token không thể chia nhỏ mới:
spl-token create-token --decimals 0
Địa chỉ Mint trong đầu ra chính là ID Token đã được tạo.
Tạo Tài Khoản Token
Tạo một Tài khoản Token cho Token được tạo ở bước trước:
spl-token tạo tài khoản <token_id>
Mint Token
Thử mint một đơn vị Token cho Tài khoản Token:
spl-token mint <token_id> 1
Cũng có thể thử mint cho địa chỉ ví chỉ định:
spl-token mint <token_id> 1 <wallet_address>
Lưu ý: Gửi trực tiếp địa chỉ ví mint sẽ thất bại, cần tạo Tài Khoản Token cho địa chỉ ví trước.
tạo Tài Khoản Token cho địa chỉ ví
Sử dụng lệnh sau để tạo Tài khoản Token cho địa chỉ ví được chỉ định:
Sử dụng phương thức getTokenAccountsByOwner của giao diện RPC để kiểm tra xem địa chỉ ví có từng Mint NFT mà chúng tôi đã tạo hay không.
Thực hiện hệ thống đăng nhập
Sử dụng Nextjs để tạo dự án và sử dụng Ant Design Web3 để thực hiện tính năng kết nối ví.
Trang chính bao gồm:
Trang chủ: Lời chào và liên kết đến trang đăng nhập
Trang đăng nhập (sign-in): Kết nối ví và kiểm tra người dùng đã đăng ký hay chưa
Trang đăng ký (sign-on): Cho phép người dùng thực hiện quy trình đăng ký (mint NFT)
Quy trình đăng nhập:
Người dùng nhấp vào "Continue with Solana", kích hoạt ví
Kiểm tra phía sau xem địa chỉ ví có tài khoản Token liên quan hay không.
Nếu chưa đăng ký, nhắc người dùng truy cập trang đăng ký
đăng ký quy trình:
Người dùng nhấp vào "Bắt đầu với Solana", kết nối ví
Hệ thống tạo Tài khoản Token cho địa chỉ ví người dùng và Mint Token
Đăng ký thành công, người dùng có thể sử dụng cùng một địa chỉ ví để đăng nhập vào trang web
Thông qua Solscan, bạn có thể xem dữ liệu giao dịch liên quan, bao gồm lệnh CreateAccount và thao tác Mint.
Tóm tắt
Chúng tôi đã sử dụng spl-token-cli để tạo một NFT và kiểm tra xem địa chỉ ví có tài khoản Token hay không cũng như đã Mint Token để xác định xem người dùng đã đăng ký hay chưa. Khi người dùng kết nối ví, hệ thống sẽ tự động tạo tài khoản Token và Mint một đơn vị Token như một chứng nhận đăng ký. Sau đó, người dùng có thể sử dụng cùng một địa chỉ ví để đăng nhập vào trang web.
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
Solana NFT: Khám phá đăng ký người dùng và xác thực danh tính dựa trên Token
Khám phá việc sử dụng Token Solana làm chứng nhận đăng ký của người dùng
NFT (non-fungible token) là một loại token "không thể thay thế", rất phù hợp để sử dụng làm công cụ xác thực danh tính. Bài viết này sẽ khám phá tính khả thi của việc sử dụng NFT làm chứng nhận đăng ký thông qua một ví dụ đơn giản.
Giới thiệu công cụ
SPL Token
Solana cung cấp một chương trình Token chung, thuộc về Thư viện Chương trình Solana (SPL). SPL bao gồm nhiều chương trình thông dụng như Token, Swap, Memo, và cung cấp thư viện khách hàng hoàn chỉnh cũng như công cụ CLI, điều này đã tạo điều kiện thuận lợi rất nhiều cho các nhà phát triển Solana.
Solana Playground
Solpy cung cấp một môi trường trực tuyến để viết và triển khai hợp đồng Solana, mặc định bao gồm một số công cụ thường dùng, chẳng hạn như SPL Token. Chúng ta có thể dễ dàng tạo và quản lý Token thông qua spl-token-cli.
Tạo Token xác thực
Chúng tôi sẽ tạo một Token NFT. Nếu người dùng Mint Token này, thì được coi là địa chỉ ví này đã được đăng ký trong hệ thống, nếu không sẽ nhắc nhở người dùng thực hiện đăng ký trước.
tạo Token
Sử dụng spl-token để tạo một Token không thể chia nhỏ mới:
spl-token create-token --decimals 0
Địa chỉ Mint trong đầu ra chính là ID Token đã được tạo.
Tạo Tài Khoản Token
Tạo một Tài khoản Token cho Token được tạo ở bước trước:
spl-token tạo tài khoản <token_id>
Mint Token
Thử mint một đơn vị Token cho Tài khoản Token:
spl-token mint <token_id> 1
Cũng có thể thử mint cho địa chỉ ví chỉ định:
spl-token mint <token_id> 1 <wallet_address>
Lưu ý: Gửi trực tiếp địa chỉ ví mint sẽ thất bại, cần tạo Tài Khoản Token cho địa chỉ ví trước.
tạo Tài Khoản Token cho địa chỉ ví
Sử dụng lệnh sau để tạo Tài khoản Token cho địa chỉ ví được chỉ định:
spl-token create-account <token_id> --owner <wallet_address>
Lấy Tài Khoản Token
Sử dụng phương thức getTokenAccountsByOwner của giao diện RPC để kiểm tra xem địa chỉ ví có từng Mint NFT mà chúng tôi đã tạo hay không.
Thực hiện hệ thống đăng nhập
Sử dụng Nextjs để tạo dự án và sử dụng Ant Design Web3 để thực hiện tính năng kết nối ví.
Trang chính bao gồm:
Quy trình đăng nhập:
đăng ký quy trình:
Thông qua Solscan, bạn có thể xem dữ liệu giao dịch liên quan, bao gồm lệnh CreateAccount và thao tác Mint.
Tóm tắt
Chúng tôi đã sử dụng spl-token-cli để tạo một NFT và kiểm tra xem địa chỉ ví có tài khoản Token hay không cũng như đã Mint Token để xác định xem người dùng đã đăng ký hay chưa. Khi người dùng kết nối ví, hệ thống sẽ tự động tạo tài khoản Token và Mint một đơn vị Token như một chứng nhận đăng ký. Sau đó, người dùng có thể sử dụng cùng một địa chỉ ví để đăng nhập vào trang web.