Mọi thứ bạn cần biết về việc tạo NFT trên Velas
Tạo NFT trên Velas có thể mang lại cho các nhóm nhiều lợi ích khác nhau. Chúng bao gồm tận dụng các hợp đồng thông minh tương thích với Ethereum, tận hưởng tốc độ giao dịch nhanh chóng, không phải trả phí gas cao, v.v.
Nội dung:
Giới thiệu
NFT là một công nghệ mang tính cách mạng có thể mang lại lợi ích cho người dùng theo nhiều cách khác nhau. Ví dụ: nó cấp cho người dùng bằng chứng về quyền sở hữu đối với tài sản kỹ thuật số của họ hơn bao giờ hết. Hơn nữa, NFT có thể dẫn đến một nền kinh tế sáng tạo hoàn toàn mới.
Với tất cả các đặc quyền mà NFT mang lại, mọi người đều đang nói về việc trao quyền cho các dự án của họ bằng NFT. Nhưng bạn có biết cách phát triển hợp đồng thông minh được hỗ trợ bởi NFT không? Đừng lo lắng nếu không, vì bài viết này sẽ hướng dẫn bạn tất cả các bước tạo hợp đồng thông minh NFT trên Velas Testnet.
Xin lưu ý rằng hướng dẫn này sẽ chỉ cho bạn cách tạo NFT riêng thay vì một bộ sưu tập. Vì vậy, hợp đồng thông minh này sẽ cho phép người dùng tạo ra bất kỳ ảnh hoặc video nào của họ dưới dạng NFT.
Tại sao Velas?
Có rất nhiều giao thức blockchain có sẵn trên mạng. Nhưng các nhà phát triển vẫn gặp phải vấn đề khi sử dụng chúng. Ví dụ: Ethereum phải vật lộn với phí gas cao và xử lý giao dịch chậm, trong khi các blockchain khác yêu cầu các nhà phát triển sử dụng các ngôn ngữ xa lạ như Rust.
Với Nến, hầu hết những mối lo ngại đó đều không tồn tại. Giải pháp của Velas kế thừa DNA tốt nhất của công nghệ Solana và bổ sung cho nó các tính năng bổ sung để hỗ trợ khả năng tương thích với EVM. Điều này mang đến cho người dùng và nhà phát triển một nền tảng lý tưởng đảm bảo trải nghiệm người dùng tuyệt vời với thời gian giao dịch nhanh hơn. Hơn nữa, nó đơn giản hóa quá trình phát triển với sự hỗ trợ của Solidity.
Điều kiện tiên quyết
Để làm theo, bạn nên có Node plus Yarn, trình quản lý gói. Ngoài ra, bạn nên có kiến thức cơ bản về Solidity. Vì vậy nếu bạn chưa rành về nó hãy trang bị cho mình những kiến thức cơ bản về Solidity và Mũ cứng đầu tiên.
Thành lập
Để thiết lập dự án của chúng tôi, hãy thực hiện lệnh sau trong terminal.
npx hardhat
Bạn sẽ thấy kết quả sau nếu bạn chưa cài đặt Hardhat.
Kiểu y và nhấp nhập, và nó sẽ tiến hành cài đặt Hardhat. Tuy nhiên, nếu bạn đã có Hardhat, nó sẽ không hiển thị cho bạn lời nhắc cài đặt Hardhat. Thay vào đó, nó sẽ hỏi một số câu hỏi về cách bạn muốn thiết lập dự án.
Chúng tôi muốn có một dự án Javascript cơ bản trong thư mục hiện tại của mình, vì vậy chỉ cần nhấp vào nhập cho tất cả.
Sau đó, chúng ta phải cài đặt các phần phụ thuộc cho dự án. Để cài đặt chúng, chúng ta sẽ sử dụng lệnh sau.
npm install --save-dev "^2.10.1" "@nomicfoundation/^1.0.1" "@openzeppelin/contracts" "dotenv"
Vì chúng tôi đang sử dụng Yarn nên chúng tôi phải cài đặt các thư viện mà hộp công cụ hardhat sử dụng.
yarn add --dev @nomicfoundation/hardhat-toolbox @nomicfoundation/hardhat-network-helpers @nomicfoundation/hardhat-chai-matchers @nomiclabs/hardhat-ethers @nomiclabs/hardhat-etherscan chai ethers hardhat-gas-reporter solidity-coverage @typechain/hardhat typechain @typechain/ethers-v5 @ethersproject/abi @ethersproject/providers
Nếu bạn đang sử dụng npm phiên bản 7 trở lên, các thư viện này sẽ được cài đặt trực tiếp.
Điều đáng chú ý là chúng ta cần thực hiện thêm một bước nữa trước khi viết hợp đồng thông minh. Tức là loại bỏ bất kỳ .mặt trời các tệp bạn thấy trong thư mục hợp đồng và tạo một tệp mới có tên VELASNFT.sol. Đây là thư mục nơi chúng ta sẽ viết hợp đồng của mình.
Cách viết hợp đồng thông minh NFT
xây dựng
Để bắt đầu, chúng tôi sẽ tạo một hợp đồng thông minh cơ bản trong đó chúng tôi xác định phiên bản vững chắc và tạo nội dung hợp đồng thông minh trống.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9; contract VELASNFT { }
Chúng tôi phải nhập hợp đồng thông minh cơ bản và hợp đồng thông minh tiện ích. Đáng chú ý, đây là những hợp đồng sẽ sử dụng để xây dựng hợp đồng thông minh NFT của chúng tôi. Hợp đồng cơ sở là ERC721URISLưu trữ, triển khai ERC721 với quản lý URI mã thông báo dựa trên bộ nhớ.
Bộ đếm là một hợp đồng tiện ích sẽ được sử dụng để đếm số lượng NFT được đúc.
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol";
Hợp đồng của chúng tôi sẽ kế thừa hợp đồng cơ sở. Điều này sẽ cho phép người dùng truy cập tất cả các chức năng của hợp đồng cơ sở và hợp đồng thông minh của chúng tôi.
contract VELASNFT is ERC721URIStorage { }
Bây giờ chúng ta có thể viết hàm tạo cho hợp đồng của mình. Đáng chú ý, hàm tạo của chúng ta sẽ không có bất kỳ đối số nào nhưng bạn phải chuyển tên và ký hiệu cho hàm tạo ERC721.
constructor() ERC721("VELASNFT", "VN") {}
Khi kết thúc bước này, hợp đồng thông minh của bạn sẽ trông như thế này.
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol"; contract VELASNFT is ERC721URIStorage { constructor() ERC721("VELASNFT", "VN") {} }
Viết hàm mint
Đối với hàm mint, trước tiên chúng ta cần thiết lập bộ đếm. Dán đoạn mã sau vào bên trong hợp đồng ở trên hàm tạo.
using Counters for Counters.Counter; Counters.Counter private _tokenIds;
chúng ta gán tất cả các chức năng của thư viện Counters cho cấu trúc Counter. Sau đó chúng ta sẽ tạo một biến riêng có tên _tokenId.
Bây giờ hãy bắt đầu phát triển chức năng. Nó sẽ có một đối số: tokenURIvà nó sẽ là url tới tệp json lưu trữ tất cả siêu dữ liệu. Chúng ta sẽ tìm hiểu thêm về siêu dữ liệu trong các phần sau. Hàm đúc sẽ có khả năng hiển thị công khai và sẽ trả về ID của NFT được tạo, sẽ có loại uint256.
function mint(string memory tokenURI) public returns (uint256) { }
Bên trong hàm, trước tiên chúng ta sẽ lấy số đếm hiện tại của bộ đếm.
Để đúc NFT, chúng tôi sẽ sử dụng _cây bạc hà hàm lấy địa chỉ và ID làm đối số. Đối với địa chỉ, chúng tôi sẽ sử dụng địa chỉ của người gọi và ID sẽ là số lượng hiện tại. Sau đó, chúng ta phải lưu tokenURI.
Để làm được điều đó, chúng ta phải _setTokenURI, sẽ lưu URI với ID tương ứng làm khóa. Cuối cùng, chúng tôi sẽ tăng bộ đếm và sau đó là ID của NFT đã tạo.
function mint(string memory tokenURI) public returns (uint256) { uint256 newItemId = _tokenIds.current(); _mint(minter, newItemId); _setTokenURI(newItemId, tokenURI); _tokenIds.increment(); return newItemId; }
Chúc mừng! Giờ đây, hợp đồng thông minh của bạn có thể tạo ra NFT! Dưới đây là tổng quan về toàn bộ hợp đồng.
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.9; import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol"; contract VELASNFT is ERC721URIStorage { using Counters for Counters.Counter; Counters.Counter private _tokenIds; constructor() ERC721("VELASNFT", "VN") {} function mint(string memory tokenURI) public returns (uint256) { uint256 newItemId = _tokenIds.current(); _mint(msg.sender, newItemId); _setTokenURI(newItemId, tokenURI); _tokenIds.increment(); return newItemId; }
}
Cách triển khai hợp đồng
Chúng tôi đã xây dựng hợp đồng thông minh NFT của mình. Đây là bước thú vị, triển khai. Nhưng trước khi triển khai hợp đồng, chúng ta cần biên dịch nó và viết một đoạn script triển khai hợp đồng. Để biên dịch hợp đồng, hãy chạy lệnh sau trong terminal.
npx hardhat compile
Bạn sẽ thấy đầu ra sau đây.
Bây giờ chúng ta hãy chuyển sang giai đoạn tiếp theo, viết kịch bản để triển khai hợp đồng thông minh này. Để làm như vậy, chúng ta sẽ chuyển đến thư mục scripts và mở tệp triển khai.js. Sau đó, xóa toàn bộ nội dung và dán đoạn mã sau vào file đó.
const hre = require("hardhat"); async function main () { // We get the contract to deploy const VELASNFT = await hre.ethers.getContractFactory('VELASNFT'); console.log("Deploying NFT contract..."); const velasnft = await VELASNFT.deploy(); await velasnft.deployed(); console.log('NFT contract deployed to:', velasnft.address); } main() .then(() => process.exit(0)) .catch(error => { console.error(error); process.exit(1);
});
Trước khi triển khai hợp đồng, chúng ta phải thêm thông tin chi tiết về Velas testnet vào tệp hardhat.config.js. Mở tệp và thêm cấu hình testnet Velas.
require("@nomicfoundation/hardhat-toolbox");
const dotenv = require('dotenv');
dotenv.config(); /** @type import('hardhat/config').HardhatUserConfig */
module.exports = { solidity: "0.8.9", networks: { velastestnet: { url: `https://evmexplorer.testnet.velas.com/rpc`, accounts: [process.env.PRIVATE_KEY] } }
};
Điều đáng nói là trước khi triển khai hợp đồng, bạn phải thêm khóa riêng cho ví của mình vào tệp .env và có một số mã thông báo VLX testnet trong ví. Bạn có thể nhận mã thông báo testnet từ tại đây.
Bây giờ chúng ta đã thiết lập xong mọi thứ, hãy chạy lệnh sau trong terminal.
npx hardhat run scripts/deploy.js --network velastestnet
Nếu lệnh được thực thi thành công, bạn sẽ thấy kết quả tương tự như hiển thị bên dưới trong terminal của mình.
đúc NFT
Khi hợp đồng thông minh được triển khai, chúng tôi có thể đúc NFT từ thiết bị đầu cuối. Để làm điều đó, trước tiên hãy khởi động bảng điều khiển hardhat bằng lệnh sau.
npx hardhat console --network velastestnet
Đầu ra được hiển thị dưới đây.
Sau đó chúng ta sẽ tạo biến hợp đồng có tên “velasnft”. Các nhận được hợp đồngTại phương thức sẽ trả về đối tượng hợp đồng.
const velasnft = await ethers.getContractAt("VELASNFT", '0x587133187DEC8E1D5a964254B42FF3627a649313')
Vui lòng tham khảo đầu ra được hiển thị bên dưới.
Để đúc NFT, chúng tôi sẽ sử dụng phương pháp đúc của velasnft Biến đổi. Chúng tôi cũng phải chuyển liên kết siêu dữ liệu đến phương thức. Bạn có thể đọc thêm về tiêu chuẩn Metadata nhấp vào ĐÂY .
await velasnft.mint("https://metadatastorage.com/velasnft/0")
Kiểm tra đầu ra dưới đây.
Bây giờ là lúc kiểm tra chủ sở hữu của NFT. Vì chúng tôi đúc tiền bằng cách sử dụng chủ sở hữu của phương pháp này, bây giờ hãy chuyển chỉ mục của NFT mà chúng tôi đã tạo ra.
await velasnft.ownerOf(0)
Như vậy là chúng ta đã có được kết quả của chủ sở hữu NFT.
Kết luận
Trong bài viết, chúng ta đã tìm hiểu cách viết hợp đồng thông minh NFT cho phép người dùng đúc NFT. Ngoài ra, chúng tôi đã cố gắng triển khai nó trên mạng thử nghiệm Velas. Giờ đây, bạn có thể phát triển các ứng dụng mới hỗ trợ NFT và khám phá hệ sinh thái Velas năng động.
Bạn cũng có thể xem cách xây dựng DAO trên Velas qua liên kết này.
Velas muốn trao quyền cho những người nỗ lực tăng tốc độ phát triển của Web3. Vì vậy, Velas đã đưa ra chương trình tài trợ trị giá 100 triệu USD để hoàn thành sứ mệnh này. Đồng thời, chương trình này cũng nhằm mục đích hỗ trợ mở rộng hệ sinh thái Velas.
Với chương trình tài trợ của Velas, các nhà phát triển có thể biến những ý tưởng thú vị của họ thành hiện thực một cách hiệu quả hơn. Mỗi dự án có cơ hội nhận được khoản tài trợ lên tới 100,000 USD. Ngoài ra, các nhóm được chọn sẽ có quyền truy cập vào các nguồn lực khác để thúc đẩy sự phát triển dự án của họ, bao gồm tiếp thị, tư vấn kỹ thuật, v.v.
Chương trình tài trợ bao gồm nhiều danh mục, bao gồm nhưng không giới hạn ở DeFi, NFT, trò chơi dựa trên blockchain, v.v.
Nếu bạn quan tâm đến việc đẩy nhanh việc áp dụng rộng rãi tiền điện tử và chuỗi khối, hãy đăng ký ngay để tham gia hệ sinh thái không ngừng phát triển của Velas.
Tìm hiểu thêm về Velas:
Từ chối trách nhiệm - Đây là một bài báo được tài trợ. DappRadar không xác nhận bất kỳ nội dung hoặc sản phẩm nào trên trang này. Mục đích của DappRadar là cung cấp thông tin chính xác, nhưng người đọc phải luôn tự nghiên cứu trước khi hành động. Các bài báo của DappRadar không thể được coi là lời khuyên đầu tư.
- Phân phối nội dung và PR được hỗ trợ bởi SEO. Được khuếch đại ngay hôm nay.
- Platoblockchain. Web3 Metaverse Intelligence. Khuếch đại kiến thức. Truy cập Tại đây.
- nguồn: https://dappradar.com/blog/how-to-create-nft-on-velas
- $ 100 triệu
- 000
- 1
- 10
- 7
- 9
- a
- Giới thiệu
- ở trên
- tăng tốc
- truy cập
- Trợ Lý Giám Đốc
- chính xác
- Hoạt động
- Ngoài ra
- thêm vào
- địa chỉ
- Nhận con nuôi
- tư vấn
- Sau
- Mục tiêu
- Tất cả
- cho phép
- Đã
- luôn luôn
- và
- các ứng dụng
- đối số
- đối số
- bài viết
- bài viết
- Tài sản
- có sẵn
- chờ đợi
- cơ sở
- cơ bản
- Khái niệm cơ bản
- bởi vì
- trước
- được
- phía dưới
- hưởng lợi
- Lợi ích
- BEST
- blockchain
- hỗ trợ blockchain
- blockchains
- thân hình
- mang lại
- xây dựng
- xây dựng
- gọi là
- Caller
- Có thể có được
- đố
- kiểm tra
- bộ sưu tập
- khả năng tương thích
- tương thích
- Mối quan tâm
- phần kết luận
- Cấu hình
- xem xét
- An ủi
- chuyên gia tư vấn
- nội dung
- hợp đồng
- hợp đồng
- Tương ứng
- Counter
- quầy
- Covers
- tạo
- tạo ra
- Tạo
- yaratıcı
- Nền kinh tế người sáng tạo
- cryptocurrencies
- Current
- DAO
- DappRadar
- dữ liệu
- Defi
- triển khai
- triển khai
- triển khai
- triển khai
- triển khai
- chi tiết
- phát triển
- phát triển
- Phát triển
- kỹ thuật số
- Tài sản kỹ thuật số
- trực tiếp
- dna
- dont
- năng động
- mỗi
- nền kinh tế
- hệ sinh thái
- hiệu quả
- trao quyền
- nâng cao vị thế
- cho phép
- chứng thực
- hoàn toàn
- ERC721
- lôi
- ethereum
- mọi người
- tất cả mọi thứ
- ví dụ
- tuyệt vời
- thú vị
- thi hành
- mở rộng
- kinh nghiệm
- khám phá
- xuất khẩu
- Đối mặt
- quen
- NHANH
- nhanh hơn
- Tính năng
- Lệ Phí
- Tập tin
- Các tập tin
- Tên
- theo
- tiếp theo
- Foster
- Miễn phí
- từ
- chức năng
- chức năng
- tài trợ
- Trò chơi
- GAS
- phí xăng
- được
- Cho
- cho
- Go
- cấp
- tài trợ
- bảo đảm
- tại đây
- Cao
- Độ đáng tin của
- Hướng dẫn
- Tuy nhiên
- HTTPS
- lý tưởng
- ý tưởng
- thực hiện
- nhập khẩu
- in
- bao gồm
- Bao gồm
- chỉ số
- thông tin
- cài đặt, dựng lên
- thay vì
- quan tâm
- Giới thiệu
- đầu tư
- các vấn đề
- IT
- JavaScript
- tham gia
- json
- Key
- phím
- Biết
- kiến thức
- Ngôn ngữ
- phát động
- dẫn
- học
- tận dụng
- thư viện
- Thư viện
- Cuộc sống
- Hạn chế
- LINK
- Xem
- giống như
- Chủ yếu
- quản lý
- quản lý
- giám đốc
- nhiều
- Marketing
- Thánh Lễ
- Áp dụng hàng loạt
- max-width
- Trong khi đó
- trung bình
- Bộ nhớ
- Siêu dữ liệu
- phương pháp
- triệu
- bạc hà
- đúc
- Sứ mệnh
- MIT
- Mô-đun
- chi tiết
- hầu hết
- di chuyển
- tên
- Cần
- mạng
- Mới
- tiếp theo
- NFT
- Hợp đồng thông minh NFT
- NFT
- nút
- đáng chú ý
- con số
- vật
- ONE
- mở
- OpenSea
- Cơ hội
- Nền tảng khác
- tổng quan
- riêng
- chủ sở hữu
- quyền sở hữu
- gói
- đặc quyền
- nền tảng
- plato
- Thông tin dữ liệu Plato
- PlatoDữ liệu
- xin vui lòng
- thêm
- điều kiện tiên quyết
- trình bày
- riêng
- Khóa riêng
- quá trình
- xử lý
- Sản phẩm
- chương trình
- dự án
- dự án
- bằng chứng
- bảo vệ
- giao thức
- cho
- công khai
- Câu hỏi
- phạm vi
- Đọc
- độc giả
- nhận
- tẩy
- yêu cầu
- nghiên cứu
- Thông tin
- kết quả
- trở lại
- Trả về
- cách mạng
- chạy
- Rust
- Lưu
- kịch bản
- phần
- chọn
- định
- thiết lập
- nên
- hiển thị
- thể hiện
- tương tự
- kể từ khi
- chậm
- thông minh
- hợp đồng thông minh
- Hợp đồng thông minh
- So
- SOL
- sự vững chắc
- giải pháp
- một số
- tốc độ
- Được tài trợ
- Traineeship
- tiêu chuẩn
- Bắt đầu
- Bước
- Các bước
- Vẫn còn
- cửa hàng
- phấn đấu
- Đấu tranh
- Thành công
- hỗ trợ
- biểu tượng
- Hãy
- mất
- dùng
- nói
- đội
- Kỹ thuật
- Công nghệ
- Thiết bị đầu cuối
- testnet
- Sản phẩm
- Khái niệm cơ bản
- cung cấp their dịch
- Đó
- vì thế
- điều
- Thông qua
- thời gian
- đến
- mã thông báo
- Tokens
- giao dịch
- tốc độ giao dịch
- đúng
- hướng dẫn
- không quen
- URL
- sử dụng
- người sử dang
- Kinh nghiệm người dùng
- Người sử dụng
- tiện ích
- khác nhau
- Nến
- phiên bản
- thông qua
- Video
- khả năng hiển thị
- W3
- ví
- cách
- Web3
- webp
- cái nào
- trong khi
- CHÚNG TÔI LÀ
- rộng
- Phạm vi rộng
- sẽ
- giá trị
- viết
- viết
- Bạn
- trên màn hình
- mình
- zephyrnet