Tạo NFT trong Minecraft
Trong hướng dẫn này, bạn sẽ tìm hiểu cách đưa các tác phẩm tùy chỉnh của bạn trong Minecraft và mint các bản vẽ này thành NFT trên NEAR blockchain!
Tổng quan
Hướng dẫn này sẽ giúp bạn mint các kiến trúc Minecraft ở bất kỳ kích thước nào trên NEAR blockchain. Nó sẽ cho phép bạn copy và dán các thiết kế này vào trong thế giới của riêng bạn. Với điều này, chúng ta sẽ sử dụng WorldEdit để download và đọc các bản vẽ này, và chúng ta sẽ đưa chúng on-chain thông qua IPFS.
Điều kiện tiên quyết
Để hoàn thành tốt hướng dẫn này, bạn sẽ cần:
Tạo Bản Vẽ
Trong phần này, chúng ta sẽ tạo bản vẽ Minecraft và đưa nó lên chain.
Cài đặt
- Một khi bạn đã cài đặt WorldEdit và Minecraft đã load xong, hãy kiểm tra WorldEdit có hoạt động đúng hay không bằng cách chạy:
//pos1
Nếu WorldEdit đã được cài đặt chính xác, sẽ xuất hiện output First position set to (X, Y, Z).
trong đó X, Y, và Z là các tọa độ.
Trong hướng dẫn này, chúng ta sẽ mint một ngôi nhà nhỏ trong làng. Để làm theo, hãy chọn kiến trúc bất kỳ mà bạn thích để mint như dưới đây:
Sau đó, bạn sẽ muốn chọn các ranh giới của kiến trúc mà bạn định copy. Chúng ta sẽ biến chúng thành những bản vẽ được đưa lên chain để bạn hoặc người khác sẽ download và dán nó vào thế giới của riêng bạn.
- Để làm điều này, chúng ta sẽ cần liệt kê các ranh giới của tòa nhà bằng cách dùng WorldEdit. Đứng ở góc dưới bên trái của tòa nhà và chạy:
//pos1
- Sau đó, bạn có thể di chuyển đến góc trên bên phải và chạy:
//pos2
Bây giờ, nhờ vào việc thiết lập hai vị trí này, bạn đã tạo một khối lập phương bao quanh tòa nhà của bạn.
- Bây giờ chúng ta sẽ copy nội dung của tòa nhà đó bằng cách chạy:
//copy
Output sẽ giống như sau:
Hãy nhớ ghi chú lại vị trí của nhân vật của bạn khi tiến hành copy. Nếu bạn copy tòa nhà này và giả sử bạn đang đứng trên mái nhà, thì khi bạn dán tòa nhà, nó sẽ dán tòa nhà theo cách bạn đứng trên mái nhà.
Kiểm tra sự chính xác
Chúng ta có thể kiểm tra và xem liệu tòa nhà có ổn không bằng cách dán những gì chúng ta vừa copy tại một nơi nào đó trong thế giới.
- Đi tới một vị trí mà bạn thích để dán tòa nhà này và chạy:
//paste
Trong ví dụ dưới đây, chúng tôi đã dán ngôi nhà thôn quê này nổi ngay trên một rặng san hô. Bạn cũng sẽ thấy một response thông báo rằng clipboard đã được dán. (Xem ví dụ dưới đây)
Tạo file bản vẽ
Khi bạn hài lòng với tòa nhà mà bạn vừa copy và dán, đã đến lúc tạo file bản vẽ mà chúng ta sẽ dùng để mint thành NFT. Để làm điều này, chúng ta sẽ chạy một lệnh của WorldEdit để lưu file bản vẽ này trên máy tính.
- Để làm điều này, chạy lệnh
schematic save FILE_NAME
, thay thếFILE_NAME
với tên mà bạn chọn.
Điều này sẽ lưu file vào Minecraft folder trong minecraft/config/worldedit/schematics
với đuôi .schem
.
- Bây giờ kiểm tra file này bằng cách load bản vẽ mà chúng ta vừa lưu thông qua câu lệnh
schematic load FILE_NAME
.
Điều này sẽ load bản vẽ này vào clipboard và chúng ta thoải mái để dán nó trong thế giới.
Mint bản vẽ
Trong phần này, chúng ta sẽ mint file bản vẽ vừa tạo và đưa nó lên blockchain sử dụng IPFS và web3.storage. Để tiến hành, bạn cần xác định vị trí của file FILE_NAME.schem
mà chúng ta đã tạo trong phần trước. File này có thể được tìm thấy trong Minecraft folder tại minecraft/config/worldedit/schematics
. Vị trí của minecraft folder sẽ khác nhau, tùy thuộc vào OS của bạn.
Upload bản vẽ
To upload the schematic, we are going to use the free web3.storage service built for storing off-chain data. Web3.storage cung cấp dung lượng và băng thông miễn phí trên IPFS và Filecoin.
Các bước thực hiện
-
Register an account and log in to web3.storage either via email or your GitHub.
-
Đi t ới phần Files, và nhấp lên nút Upload more Files.
-
Một khi bạn đã upload file, bạn sẽ nhận được một
CID
duy nhất cho nội dung của bạn, và một URL tương tự như:https://bafybeidadhfilezx23dcdaueo3bjuafqeehokw33vyepkjtppigorrhbpy.ipfs.dweb.link/
Tương tác với contract
NEAR đã deploy contract cho account nft.examples.testnet
để cho phép user tự do mint token. Đây là account mà chúng ta sẽ tương tác để mint NFT. Ngoài ra, nếu bạn đã deploy một contract khi làm theo hướng dẫn ban đầu, bạn cũng có thể dùng nó.
nft_mint
. :::- Chạy lệnh sau và thay thế field
receiver_id
và cờ--accountId
với account ID mà bạn đã đăng nhập trên NEAR CLI:
near call nft.examples.testnet nft_mint '{"token_id": "my-token-unique-id", "receiver_id": "YOUR_ACCOUNT", "metadata": { "title": "YOUR NFT TITLE", "description": "YOUR NFT DESCRIPTION", "media": "https://bafybeidadhfilezx23dcdaueo3bjuafqeehokw33vyepkjtppigorrhbpy.ipfs.dweb.link/", "copies": 1}}' --accountId YOUR_ACCOUNT --deposit 0.1
- Hãy chắc chắn thay thế title, description và media URL bằng của bạn.
Ví dụ về response nhận được:
{
"token_id": "0",
"owner_id": "YOUR_ACCOUNT",
"metadata": {
"title": "My awesome Minecraft NFT",
"description": "Custom log cabin",
"media": "https://bafybeidadhfilezx23dcdaueo3bjuafqeehokw33vyepkjtppigorrhbpy.ipfs.dweb.link/",
"media_hash": null,
"copies": 1,
"issued_at": null,
"expires_at": null,
"starts_at": null,
"updated_at": null,
"extra": null,
"reference": null,
"reference_hash": null
},
"approved_account_ids": {}
}
- Để xem các token được sở hữu bởi một account trên contract
example-nft
, bạn có thể call contract với lệnhnear-cli
sau:
near view nft.examples.testnet nft_tokens_for_owner '{"account_id": "YOUR_ACCOUNT"}'
Ví dụ về response nhận được:
[
{
"token_id": "0",
"owner_id": "YOUR_ACCOUNT",
"metadata": {
"title": "Some Art",
"description": "My NFT media",
"media": "https://bafybeidadhfilezx23dcdaueo3bjuafqeehokw33vyepkjtppigorrhbpy.ipfs.dweb.link/",
"media_hash": null,
"copies": 1,
"issued_at": null,
"expires_at": null,
"starts_at": null,
"updated_at": null,
"extra": null,
"reference": null,
"reference_hash": null
},
"approved_account_ids": {}
}
]
Sử dụng bản vẽ ngôi làng
Bây giờ bạn đã upload bản vẽ của mình lên blockchain, tất cả những gì ai đó cần làm là dán nó vào thế giới riêng của họ bằng các download file *.schem
được liên kết với link IPFS trong NFT chúng ta đã mint, và đưa nó vào folder chứa các bản vẽ của họ.
Để kiểm tra, chúng tôi đã mint NFT chứa bản vẽ ngôi làng mà chúng ta đang làm việc cùng, để bạn có thể download và dán nó vào trong thế giới của bạn.
Lấy file bản vẽ
Điều đầu tiên bạn cần làm là xem metadata của token mà chúng ta vừa mint, nó có chứa link IPFS tới bản vẽ ngôi làng. Chúng ta vừa mint một token với ID village-schematic
nằm trong account village-schematic.testnet
.
- Để lấy link media, chạy câu lệnh sau:
near view nft.examples.testnet nft_tokens_for_owner '{"account_id": "village-schematic.testnet"}'
Response mong đợi:
[
{
token_id: 'village-schematic',
owner_id: 'village-schematic.testnet',
metadata: {
title: 'Village Schematic',
description: 'Blockcraft Village Schematic Tutorial NFT',
media: 'https://bafybeidadhfilezx23dcdaueo3bjuafqeehokw33vyepkjtppigorrhbpy.ipfs.dweb.link/',
media_hash: null,
copies: 1,
issued_at: null,
expires_at: null,
starts_at: null,
updated_at: null,
extra: null,
reference: null,
reference_hash: null
},
approved_account_ids: {}
}
]
- Bạn có thể lấy link media và dán nó vào trong browser. Nó sẽ đưa bạn tới một trang trông giống như thế này:
- Nếu b ạn nhấp vào file có tên
village-house.schem
, nó sẽ download file này. - Sau đó, bạn có thể copy file bản vẽ này và dán nó vào trong folder
minecraft/config/worldedit/schematics
của bạn.
Load file bản vẽ trong Minecraft
- Sau khi bạn dán file bản vẽ vào trong folder
minecraft/config/worldedit/schematics
, bạn có thể load file bản vẽ này vào trong clipboard bằng cách chạy lệnh sau trong thế giới minecraft của bạn:
//schematics load village-house
- Bây giờ bạn có thể dán file này tại bất kì đâu trong thế giới của bạn, chỉ đơn giản dùng lệnh
//paste
và xong rồi đấy! Bạn sẽ thấy một cái gì đó tương tự như sau:
Chúc mừng bạn! Bạn vừa tìm hiểu cách để mint một NFT bản vẽ Minecraft và load nó vào trong thế giới của bạn!
Version cho bài viết này
Tại thời điểm viết bài, ví dụ này tương thích với các version dưới đây:
- near-cli:
2.1.1