Hướng dẫn: Tìm hiểu cách sử dụng Solidity để tạo NFT của riêng bạn trong ba phút
Bài viết tham khảo: Cách tạo NFT với Solidity
Bởi Patrick Collins
Biên soạn và sắp xếp: Chen Zou
NFT(Non-Fungible Tokens,Mã thông báo không đồng nhất) là một trong những ngôi sao sáng nhất trong lĩnh vực hợp đồng thông minh và là tiêu chuẩn mã thông báo tương tự như ERC20. Nếu năm 2020 là năm của DeFi, thì ít nhất một phần lớn của năm 2021 sẽ thuộc về NFT.
Không thể thay thế có nghĩa là nó là duy nhất, rất khác với mã thông báo ERC20, tất cả đều là mã thông báo có thể thay thế. Như một ví dụ về sự đồng nhất hóa, tờ đô la của bạn sẽ có giá trị là 1 đô la cho dù bạn sử dụng tờ đô la nào. Số sê-ri trên các tờ đô la có thể khác nhau, nhưng các tờ tiền này có thể hoán đổi cho nhau vì dù sao chúng cũng có giá trị là 1 đô la.
tiêu đề cấp đầu tiên
Tiến trình phát triển của NFT
Điều đầu tiên cần rõ ràng là NFT có tiềm năng vô hạn. Vào tháng 2 năm nay, Axie Infinity đã bán 9 mảnh đất với giá 888,25 ETH. (hiện trị giá khoảng 3,91 triệu USD)
tiêu đề cấp đầu tiên
tiêu chuẩn
Như đã đề cập ở trên, NFT bắt đầu với tiêu chuẩn mã thông báo ERC721, có cú pháp tương tự như ERC20 với một số điều chỉnh.
Để hợp đồng của bạn được hệ thống công nhận là NFT, tất cả những gì nó phải làm là tuân theo tiêu chuẩn này. Chúng tôi nhập tiêu chuẩn này vào các hợp đồng của mình để không phải phát minh lại bánh xe mỗi khi chúng tôi muốn thực hiện một hợp đồng mới.
NFT có một biến tokenURI, chúng ta sẽ thảo luận sau một phút, chúng có ánh xạ các tokenId tới chủ sở hữu của chúng, mỗi mã thông báo có một biến riêng"người sở hữu". Điều này khác với ERC20, chỉ có ánh xạ địa chỉ tới số dư. ERC721 vẫn cho phép mọi người chuyển mã thông báo, đặt quyền trên mã thông báo, v.v. Theo quy ước, đây là một tiêu chuẩn nhẹ, vì vậy chúng tôi có thể xây dựng bất cứ thứ gì chúng tôi muốn với chúng.
Đây là nơi mọi thứ bắt đầu trở nên thực sự khác biệt - Siêu dữ liệu. Khi bạn vào OpenSea (thị trường NFT hàng đầu), bạn có thể thấy một loạt hình ảnh. Vì vậy, vì NFT nằm trên chuỗi khối, nên tất cả dữ liệu của chúng phải nằm trên chuỗi, phải không? Vâng, không hoàn toàn.
Lưu trữ dữ liệu trên chuỗi có thể rất tốn kém và kích thước tệp của tác phẩm nghệ thuật thường không quá nhỏ. Ethereum và các nhà phát triển hợp đồng thông minh nhận ra rằng việc tải lên ngay cả một hình ảnh 1 MB sẽ nhanh chóng khiến họ ngừng hoạt động, vì vậy họ phải tạo ra một cách để hiển thị công việc của mình mà không phải lưu trữ một lượng lớn dữ liệu.
Như một giải pháp thay thế, hầu hết các NFT đều có cái gọi là tokenURI. Đây là mã định danh duy nhất trên toàn cầu được sử dụng trong trường khả năng hiển thị của NFT. Điều này giúp việc thêm hiệu ứng hình ảnh vào NFT trở nên dễ dàng hơn. URI là Mã định danh tài nguyên đồng nhất, có thể là lệnh gọi API HTTPS, thứ gì đó qua IPFS hoặc một số loại mã định danh duy nhất khác. Siêu dữ liệu này trông như thế này.
Cấu trúc tệp JSON của họ như sau:
name
description
image
attributes
Các tệp này thường được lưu trữ trên API hoặc IPFS.
Bây giờ, bạn có thể đột nhiên nghi ngờ,"tiêu đề cấp đầu tiên"
Siêu dữ liệu trên chuỗi VS siêu dữ liệu ngoài chuỗi
Nếu bạn muốn NFT của mình có tất cả những điều thú vị mà bạn có thể tưởng tượng, thì các thuộc tính trên chuỗi của nó là điều bắt buộc. Có thể nêu một số ví dụ, nếu bạn muốn cung cấp cho họ các chỉ số chiến đấu như Pokemon, một số loại chỉ số hiếm hoặc yêu cầu họ có sự khan hiếm được mã hóa trên chuỗi. Các thuộc tính này phải trên chuỗi. (Bởi vì những thứ này cần phải được theo dõi, có thể làm giả và công khai cho công chúng)
Hiện tại, các nền tảng NFT không có cách tốt để trực quan hóa các thuộc tính trên chuỗi, vì vậy bạn chỉ cần tạo một tokenURI bằng NFT đã tạo của mình.
Đối với tokenURI, một trong những phương pháp phổ biến nhất là sử dụng IPFS để lưu trữ dữ liệu của bạn. Bạn sẽ tải dữ liệu của mình lên đó và sau đó sử dụng dịch vụ ghim để đảm bảo dữ liệu sẽ ở đó mãi mãi. Tôi mong muốn có nhiều tương tác hơn giữa nền tảng hợp đồng thông minh và phía lưu trữ.
Mẹo: Sau đây là thời gian để tôi nói chuyện với chính mình. Nền tảng hợp đồng thông minh ở phía trước, Chainlink ở giữa, dStorage ở phía sau... nhưng đó là một chủ đề khác.
Thành thật mà nói, lúc đầu tôi nghĩ NFT thật ngu ngốc. Ngoài ra, tôi từng nghĩ rằng nghệ thuật là thứ mà những kẻ ngốc làm... nhưng xét đến việc tôi yêu thích âm nhạc, phim ảnh và trò chơi có hình ảnh đẹp, tôi sẽ thật đạo đức giả khi nói điều đó. NFT giải quyết các điểm nhức nhối lâu nay trong thế giới nghệ thuật xung quanh tiền bản quyền và tính xác thực. Bây giờ chúng tôi có một dịch vụ kiểm toán phi tập trung. Nếu bạn muốn sử dụng tác phẩm nghệ thuật của ai đó, bạn có thể xem mọi thứ về tác phẩm nghệ thuật đó trên chuỗi.
Người tạo ban đầu của mèo Nyan đã bán phiên bản NFT của nó với giá 300 ETH. Điều này chứng tỏ rằng sự khan hiếm kỹ thuật số có giá trị.
Nếu bạn tạo ra thứ gì đó tuyệt vời, thì nó có giá trị độc nhất. Đó là lý do tại sao tôi nghĩ rằng việc sở hữu Chainlink VRF (dịch vụ tạo số ngẫu nhiên của Chainlink) NFT là một điều rất quan trọng, bởi vì bạn có thể tạo ra những bộ sưu tập rất hiếm. Tôi đang mong đợi ai đó tạo ra một trò chơi kiểu Pokemon trên các nền tảng này. Những NFT này sẽ tồn tại mãi mãi.
tiêu đề cấp đầu tiên
Hợp đồng NFT đơn giản
Đây là cách dễ nhất để chơi với các hợp đồng NFT. Nó bao gồm ngữ pháp cho Truffle, Hardhat và Brownie. Tôi thích sử dụng các hợp đồng OpenZepplin vì nó có cấu trúc rất tốt và có tất cả các công cụ mà chúng tôi thường cần để bắt đầu làm việc ngay lập tức. Đảm bảo cài đặt chúng trước thời hạn:
npm install @openzeppelin/contracts
tiêu đề cấp đầu tiên
Phiên bản nâng cao của hợp đồng NFT
Trong hợp đồng NFT này, chúng tôi sử dụng Chainlink VRF để cung cấp trạng thái ngẫu nhiên cho NFT của chúng tôi. Trong trường hợp này, chúng tôi đang sử dụng tính ngẫu nhiên để cung cấp cho con chó của mình một giống ngẫu nhiên. Khi chúng tôi gọi createCollectible lần này, chúng tôi thực sự đang gửi một yêu cầu tới Chainlink Oracle để trả về một số ngẫu nhiên đã được chứng minh bằng mật mã. Bằng cách này, sẽ không có "hoạt động hộp đen" nào có thể làm hỏng tính công bằng của trò chơi. Yêu cầu này không đồng bộ và chúng tôi phải đợi nhà tiên tri Chainlink thực hiện giao dịch thứ hai với nonce.
tóm tắt:
tóm tắt:
Bài viết này là từ Bitpush.News, được sao chép với sự cho phép.
Bài viết này là từ Bitpush.News, được sao chép với sự cho phép.


