Phát triển hợp đồng thông minh với sự vững chắc (7) - Tạo NFT của riêng bạn
Nếu bạn chưa phải là thành viên vừa và muốn có toàn quyền truy cập vào các câu chuyện của tôi, vui lòng sử dụng liên kết này để đăng ký thành viên Trung bình. Phí thành viên của bạn hỗ trợ trực tiếp cho tôi và cho phép tôi viết nhiều tài liệu chất lượng hơn trong tương lai. Chúc mừng!
Đây là bài viết thứ bảy của loạt bài này. Nếu bạn chưa quen với cách sử dụng Remix IDE, tôi khuyên bạn nên xem qua bài viết đầu tiên của loạt bài này trước.
Năm 2021 được đánh dấu là năm của NFT. Phần này sẽ hướng dẫn bạn cách xây dựng NFT bằng cách sử dụng tiêu chuẩn ERC721 về độ rắn.
Vì vậy, chúng ta hãy bắt đầu!
ERC721 là gì?
Tương tự như ERC20, ERC721 là một tiêu chuẩn được thiết kế cho Hợp đồng thông minh NFT ở mức độ vững chắc để cho phép các hợp đồng thông minh khác nhau tương tác với nhau. Nhưng ERC721 phức tạp hơn ERC20. Bạn có thể tìm thấy hợp đồng tiêu chuẩn ERC721 tại đây .
Làm thế nào để phát triển mã thông báo ERC721?
Kế thừa Hợp đồng
Vì vậy, bây giờ hãy phát triển mã thông báo ERC721 đầu tiên của chúng tôi. Không giống như hướng dẫn trước đây của chúng tôi về mã thông báo ERC20 . Chúng tôi sẽ không sao chép từng dòng mã vào hợp đồng của mình. Thay vào đó, chúng tôi sẽ sử dụng một khái niệm được gọi là kế thừa hợp đồng để phát triển hợp đồng của chúng tôi. Đầu tiên, nhập hợp đồng ERC721 vào mã của chúng tôi như sau:
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/2bd75a44bb5f419d132bdca6f1bf483d1479f550/contracts/token/ERC721/ERC721.sol";
contract NewNFT is ERC721 {
}

Vì vậy, để xây dựng hợp đồng, chúng tôi chỉ cần cung cấp tên và ký hiệu. Sau đó, chúng ta có thể làm điều gì đó như sau:
contract NewNFT is ERC721 {
constructor() ERC721("NewNFT", "NNFT") {}
}

Để hiểu ý nghĩa của từng chức năng, bạn có thể tham khảo tài liệu tại đây .
Mint a Token
Trong đoạn mã trên, bạn đã phát triển thành công hợp đồng ERC721 đầu tiên của mình. Tuy nhiên, làm thế nào để rút một mã thông báo từ hợp đồng? Nó nói đến chức năng _mint
được xác định trong hợp đồng ERC721. Nó trông giống như dưới đây:

Vì vậy, ở đây bạn cần cung cấp hai tham số: địa chỉ mà mã thông báo gửi đến và tokenid. Để gọi hàm này từ hợp đồng NewNFT của chúng tôi, chúng tôi cần sử dụng super
để gọi nó. Vì vậy, chúng ta nên thêm một hàm khác được gọi mint
vào hợp đồng NewNFT của chúng ta như bên dưới:
contract NewNFT is ERC721 {
constructor() ERC721("NewNFT", "NNFT") {}
function mint(address _to, uint256 _tokenId) external
{
super._mint(_to, _tokenId);
}
}

Bây giờ, hãy chuyển đến hàm ownerOf
và nhập 1, nó sẽ trả về địa chỉ của tài khoản mà bạn sử dụng:

Sự kết luận
Xin chúc mừng! Bạn đã đúc mã thông báo đầu tiên của mình bằng cách sử dụng solidity. Tuy nhiên, bạn có thể nghĩ. Làm thế nào bạn có thể đưa hình ảnh hoặc tác phẩm nghệ thuật của bạn vào NFT này? Điều này nói đến khái niệm siêu dữ liệu. Chúng ta sẽ thảo luận thêm về vấn đề này trong phân đoạn tiếp theo của chúng ta. Vì vậy, hãy chú ý theo dõi và hẹn gặp lại các bạn trong những bài viết lần sau!
Phát triển hợp đồng thông minh với sự vững chắc (1) - Hello World
Phát triển hợp đồng thông minh với sự vững chắc (2) - Máy tính
Phát triển hợp đồng thông minh với sự vững chắc (3) - Trò chơi đoán số
Phát triển hợp đồng thông minh với sự vững chắc (4) - Ngân hàng
Phát triển hợp đồng thông minh với sự vững chắc (5) - Tạo mã thông báo ERC20 của riêng bạn
Phát triển hợp đồng thông minh với sự vững chắc (6) - Trao đổi phi tập trung (DEX)
Phát triển hợp đồng thông minh với sự vững chắc (7) - Tạo NFT của riêng bạn