Semua yang perlu Anda ketahui tentang membuat NFT di Velas
Membuat NFT di Velas dapat memberi tim berbagai manfaat. Ini termasuk memanfaatkan kontrak pintar yang kompatibel dengan Ethereum, menikmati kecepatan transaksi yang cepat, bebas dari biaya bahan bakar yang tinggi, dan banyak lagi.
Isi:
Pengantar
NFT adalah teknologi revolusioner yang dapat menguntungkan pengguna dalam berbagai cara. Misalnya, ini memberi pengguna bukti kepemilikan atas aset digital mereka yang belum pernah ada sebelumnya. Selain itu, NFT dapat mengarah pada ekonomi kreator yang benar-benar baru.
Dengan semua keuntungan yang diberikan NFT, semua orang berbicara tentang memberdayakan proyek mereka dengan NFT. Tapi tahukah Anda cara mengembangkan kontrak pintar yang didukung NFT? Jangan khawatir jika tidak, karena artikel ini akan memandu Anda melalui semua langkah pembuatan kontrak pintar NFT di Velas Testnet.
Perlu diketahui bahwa tutorial ini akan menunjukkan kepada Anda cara membuat NFT satu-satu alih-alih koleksi. Jadi kontrak pintar ini akan memungkinkan pengguna untuk mencetak foto atau video mereka sebagai NFT.
Mengapa Velas?
Ada banyak protokol blockchain yang tersedia di luar sana. Namun pengembang masih menghadapi masalah saat menggunakannya. Misalnya, Ethereum berjuang dengan biaya bahan bakar yang tinggi dan pemrosesan transaksi yang lambat, sementara blockchain lainnya mengharuskan pengembang untuk menggunakan bahasa asing seperti Rust.
Dengan Lilin, sebagian besar masalah tersebut tidak ada. Solusi Velas mewarisi DNA terbaik dari teknologi Solana dan melengkapinya dengan fitur tambahan untuk mendukung kompatibilitas EVM. Ini memberi pengguna dan pengembang platform ideal yang menjamin pengalaman pengguna yang luar biasa dengan waktu transaksi yang lebih cepat. Selain itu, menyederhanakan proses pengembangan dengan dukungan Solidity.
Prasyarat
Untuk mengikuti, Anda harus memiliki Node plus Yarn, pengelola paket. Juga, Anda harus memiliki pengetahuan dasar Soliditas. Jadi jika Anda tidak terbiasa dengannya, harap lengkapi diri Anda dengan dasar-dasar Soliditas dan Hardhat dulu.
Pengaturan
Untuk mengatur proyek kami, jalankan perintah berikut di terminal.
npx hardhat
Anda akan melihat output berikut jika Anda belum menginstal Hardhat.
Tipe y dan klik Enter, dan itu akan melanjutkan untuk menginstal Hardhat. Namun, jika Anda sudah memiliki Hardhat, itu tidak akan menampilkan prompt untuk instalasi Hardhat. Sebaliknya, itu akan menanyakan beberapa pertanyaan tentang bagaimana Anda ingin menyiapkan proyek.
Kami ingin proyek Javascript dasar di folder kami saat ini jadi klik saja Enter untuk semuanya.
Kemudian kita harus menginstal dependensi kita untuk proyek tersebut. Untuk menginstalnya, kita akan menggunakan perintah berikut.
npm install --save-dev "^2.10.1" "@nomicfoundation/^1.0.1" "@openzeppelin/contracts" "dotenv"
Karena kami menggunakan Yarn, kami harus menginstal pustaka yang digunakan hardhat-toolbox.
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
Jika Anda menggunakan npm versi 7 atau versi yang lebih baru, pustaka ini akan diinstal secara langsung.
Perlu dicatat bahwa kita perlu mengambil satu langkah lagi sebelum menulis kontrak pintar. Itu untuk menghapus apapun .sol file yang Anda lihat di folder kontrak dan buat file baru bernama VELASNFT.sol. Ini adalah folder tempat kami akan menulis kontrak kami.
Cara menulis kontrak pintar NFT
Pembina
Untuk memulainya, kami akan membuat kontrak pintar barebone di mana kami menentukan versi soliditas dan membuat badan kontrak pintar kosong.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9; contract VELASNFT { }
Kita harus mengimpor kontrak pintar dasar dan kontrak pintar utilitas. Khususnya, ini adalah kontrak yang akan digunakan untuk membuat kontrak pintar NFT kami. Kontrak dasarnya adalah Penyimpanan ERC721URI, implementasi ERC721 dengan manajemen URI token berbasis penyimpanan.
Penghitung adalah kontrak utilitas yang akan digunakan untuk menghitung jumlah NFT yang dicetak.
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol";
Kontrak kami akan mewarisi kontrak dasar. Ini akan memungkinkan pengguna untuk mengakses semua fungsi kontrak dasar dan kontrak pintar kami.
contract VELASNFT is ERC721URIStorage { }
Sekarang kita dapat menulis konstruktor untuk kontrak kita. Khususnya, konstruktor kami tidak akan memiliki argumen apa pun, tetapi Anda harus meneruskan nama dan simbol ke konstruktor ERC721.
constructor() ERC721("VELASNFT", "VN") {}
Di akhir langkah ini, kontrak pintar Anda akan terlihat seperti ini.
//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") {} }
Menulis fungsi mint
Untuk fungsi mint, kita perlu menyiapkan counter terlebih dahulu. Rekatkan cuplikan berikut di dalam kontrak di atas konstruktor.
using Counters for Counters.Counter; Counters.Counter private _tokenIds;
kami menetapkan semua fungsi perpustakaan Penghitung ke struktur Penghitung. Kemudian kita akan membuat variabel pribadi bernama _tokenIds.
Sekarang mari kita mulai mengembangkan fungsinya. Dibutuhkan satu argumen: tokenURI, dan itu akan menjadi url ke file json yang menyimpan semua metadata. Kami akan mendapatkan lebih banyak tentang metadata di bagian berikut. Fungsi mint akan memiliki visibilitas publik dan akan mengembalikan ID NFT yang dicetak, yang akan bertipe uint256.
function mint(string memory tokenURI) public returns (uint256) { }
Di dalam fungsi, pertama-tama kita akan mendapatkan hitungan penghitung saat ini.
Untuk mencetak NFT, kami akan menggunakan _daun mint fungsi yang mengambil alamat dan ID sebagai argumen. Untuk alamat, kami akan menggunakan alamat penelepon, dan ID akan menjadi hitungan saat ini. Setelah itu, kita harus menyimpan tokenURI.
Untuk melakukan itu, kita harus _setTokenURI, yang akan menyimpan URI dengan ID yang sesuai sebagai kunci. Pada akhirnya, kami akan menambah penghitung, dan kemudian ID dari NFT yang dibuat.
function mint(string memory tokenURI) public returns (uint256) { uint256 newItemId = _tokenIds.current(); _mint(minter, newItemId); _setTokenURI(newItemId, tokenURI); _tokenIds.increment(); return newItemId; }
Selamat! Sekarang kontrak pintar Anda dapat membuat NFT! Berikut adalah ikhtisar dari keseluruhan kontrak.
//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; }
}
Bagaimana menyebarkan kontrak
Kami telah membangun kontrak pintar NFT kami. Inilah langkah yang menarik, penerapan. Namun sebelum menerapkan kontrak, kita perlu mengompilasinya dan menulis skrip yang menerapkan kontrak. Untuk mengkompilasi kontrak, jalankan perintah berikut di terminal.
npx hardhat compile
Anda akan melihat output berikut.
Sekarang mari beralih ke tahap berikutnya, menulis skrip untuk menerapkan kontrak pintar ini. Untuk melakukannya, kita akan masuk ke folder scripts dan membuka file deploy.js. Kemudian, hapus semua konten dan rekatkan cuplikan berikut ke dalam file tersebut.
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);
});
Sebelum menerapkan kontrak, kami harus menambahkan detail tentang testnet Velas ke file hardhat.config.js. Buka file dan tambahkan konfigurasi 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] } }
};
Perlu juga disebutkan bahwa sebelum menerapkan kontrak, Anda harus menambahkan kunci pribadi untuk dompet Anda ke file .env dan memiliki beberapa token VLX testnet di dompet. Anda bisa mendapatkan token testnet dari di sini.
Sekarang setelah semua hal diatur, jalankan perintah berikut di terminal.
npx hardhat run scripts/deploy.js --network velastestnet
Jika perintah berhasil dijalankan, Anda akan melihat output yang mirip seperti yang ditunjukkan di bawah ini di terminal Anda.
Cetak NFT
Saat kontrak pintar diterapkan, kami dapat mencetak NFT dari terminal. Untuk melakukan itu, pertama mulai konsol hardhat menggunakan perintah berikut.
npx hardhat console --network velastestnet
Outputnya ditunjukkan di bawah ini.
Kemudian kita akan membuat variabel kontrak yang disebut โvelasnftโ. itu dapatkan Kontrak Di metode akan mengembalikan objek kontrak.
const velasnft = await ethers.getContractAt("VELASNFT", '0x587133187DEC8E1D5a964254B42FF3627a649313')
Silakan merujuk ke output yang ditunjukkan di bawah ini.
Untuk mencetak NFT, kami akan menggunakan metode mint dari velasnft variabel. Kami juga harus meneruskan tautan untuk metadata ke metode. Anda dapat membaca lebih lanjut tentang standar Metadata SINI.
await velasnft.mint("https://metadatastorage.com/velasnft/0")
Lihat output di bawah ini.
Sekarang saatnya memeriksa pemilik NFT. Karena kami mencetak menggunakan pemilik metode, sekarang mari kita lewati indeks NFT yang kita buat.
await velasnft.ownerOf(0)
Begitulah cara kami mendapatkan hasil dari pemilik NFT.
Kesimpulan
Dalam artikel tersebut, kami telah mempelajari cara menulis kontrak pintar NFT yang memungkinkan pengguna membuat NFT. Selain itu, kami telah berhasil menerapkannya di testnet Velas. Sekarang, Anda dapat mengembangkan aplikasi bertenaga NFT baru dan menjelajahi ekosistem Velas yang dinamis.
Anda juga dapat melihat cara membuat DAO di Velas melalui tautan ini.
Velas ingin memberdayakan mereka yang berjuang untuk mempercepat pengembangan Web3. Oleh karena itu, Velas telah meluncurkan program hibah senilai $100 juta untuk menyelesaikan misi ini. Sementara itu, program ini juga bertujuan untuk mendukung perluasan ekosistem Velas.
Dengan program hibah Velas, pengembang dapat mewujudkan ide menarik mereka dengan lebih efisien. Setiap proyek memiliki peluang untuk menerima pendanaan hingga $100,000. Selain itu, tim terpilih akan memiliki akses ke sumber daya lain untuk mendorong pengembangan proyek mereka, termasuk pemasaran, konsultan teknis, dan lainnya.
Program hibah mencakup berbagai kategori, termasuk namun tidak terbatas pada DeFi, NFT, game bertenaga blockchain, dan banyak lagi.
Jika Anda tertarik untuk mempercepat adopsi massal cryptocurrency dan blockchain, daftar sekarang untuk bergabung dengan ekosistem Velas yang terus berkembang.
Temukan lebih banyak tentang Velas:
Penolakan tanggung jawab โ Ini adalah artikel bersponsor. DappRadar tidak mendukung konten atau produk apa pun di halaman ini. DappRadar bertujuan untuk memberikan informasi yang akurat, tetapi pembaca harus selalu melakukan riset sendiri sebelum mengambil tindakan. Artikel oleh DappRadar tidak dapat dianggap sebagai saran investasi.
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- Platoblockchain. Intelijen Metaverse Web3. Pengetahuan Diperkuat. Akses Di Sini.
- Sumber: https://dappradar.com/blog/how-to-create-nft-on-velas
- $ 100 juta
- 000
- 1
- 10
- 7
- 9
- a
- Tentang Kami
- atas
- mempercepat
- mengakses
- Akun
- tepat
- Tindakan
- tambahan
- Tambahan
- alamat
- Adopsi
- nasihat
- Setelah
- bertujuan
- Semua
- memungkinkan
- sudah
- selalu
- dan
- aplikasi
- argumen
- argumen
- artikel
- artikel
- Aktiva
- tersedia
- menunggu
- mendasarkan
- dasar
- Dasar-dasar
- karena
- sebelum
- makhluk
- di bawah
- manfaat
- Manfaat
- TERBAIK
- blockchain
- bertenaga blockchain
- blockchains
- tubuh
- membawa
- membangun
- dibangun di
- bernama
- pemanggil
- Bisa Dapatkan
- kategori
- memeriksa
- koleksi
- kesesuaian
- cocok
- Kekhawatiran
- kesimpulan
- konfigurasi
- dianggap
- konsul
- konsultan
- Konten
- kontrak
- kontrak
- Sesuai
- Melawan
- counter
- Meliputi
- membuat
- dibuat
- membuat
- pencipta
- Ekonomi Kreator
- cryptocurrencies
- terbaru
- DAO
- DappRadar
- data
- Defi
- menyebarkan
- dikerahkan
- penggelaran
- penyebaran
- menyebarkan
- rincian
- mengembangkan
- pengembang
- Pengembangan
- digital
- Aset-Aset Digital
- langsung
- dna
- Dont
- dinamis
- setiap
- ekonomi
- ekosistem
- efisien
- memberdayakan
- memberdayakan
- aktif
- mengesahkan
- sepenuhnya
- ERC721
- kesalahan
- ethereum
- semua orang
- segala sesuatu
- contoh
- unggul
- menarik
- menjalankan
- perluasan
- pengalaman
- menyelidiki
- ekspor
- Menghadapi
- akrab
- FAST
- lebih cepat
- Fitur
- Biaya
- File
- File
- Pertama
- mengikuti
- berikut
- Membantu perkembangan
- Gratis
- dari
- fungsi
- fungsi
- pendanaan
- Games
- GAS
- biaya gas
- mendapatkan
- Memberikan
- memberikan
- Go
- memberikan
- beasiswa
- jaminan
- di sini
- High
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- Namun
- HTTPS
- ideal
- ide-ide
- implementasi
- mengimpor
- in
- memasukkan
- Termasuk
- indeks
- informasi
- install
- sebagai gantinya
- tertarik
- Pengantar
- investasi
- masalah
- IT
- JavaScript
- ikut
- json
- kunci
- kunci-kunci
- Tahu
- pengetahuan
- Bahasa
- diluncurkan
- memimpin
- belajar
- leveraging
- perpustakaan
- Perpustakaan
- Hidup
- Terbatas
- LINK
- melihat
- terlihat seperti
- Utama
- berhasil
- pengelolaan
- manajer
- banyak
- Marketing
- Massa
- Adopsi Massal
- max-width
- Sementara itu
- medium
- Memori
- Metadata
- metode
- juta
- permen
- dicetak
- Misi
- MIT
- Modul
- lebih
- paling
- pindah
- nama
- Perlu
- jaringan
- New
- berikutnya
- NFT
- Kontrak pintar NFT
- NFT
- simpul
- terutama
- jumlah
- obyek
- ONE
- Buka
- OpenSea
- Kesempatan
- Lainnya
- ikhtisar
- sendiri
- pemilik
- kepemilikan
- paket
- tunjangan
- Platform
- plato
- Kecerdasan Data Plato
- Data Plato
- silahkan
- plus
- prasyarat
- presentasi
- swasta
- Kunci Pribadi
- proses
- pengolahan
- Produk
- program
- proyek
- memprojeksikan
- bukti
- terlindung
- protokol
- memberikan
- publik
- Pertanyaan
- jarak
- Baca
- pembaca
- menerima
- menghapus
- membutuhkan
- penelitian
- Sumber
- mengakibatkan
- kembali
- Pengembalian
- revolusioner
- Run
- Karat
- Save
- script
- bagian
- terpilih
- set
- penyiapan
- harus
- Menunjukkan
- ditunjukkan
- mirip
- sejak
- lambat
- pintar
- kontrak pintar
- Kontrak Cerdas
- So
- SOL
- soliditas
- larutan
- beberapa
- kecepatan
- Disponsori
- Tahap
- standar
- awal
- Langkah
- Tangga
- Masih
- toko
- berjuang
- Perjuangan
- berhasil
- mendukung
- simbol
- Mengambil
- Dibutuhkan
- pengambilan
- pembicaraan
- tim
- Teknis
- Teknologi
- terminal
- testnet
- Grafik
- Dasar-dasar
- mereka
- Sana.
- karena itu
- hal
- Melalui
- waktu
- untuk
- token
- Token
- .
- kecepatan transaksi
- benar
- tutorial
- tidak biasa
- URL
- menggunakan
- Pengguna
- Pengguna Pengalaman
- Pengguna
- kegunaan
- berbagai
- Lilin
- versi
- melalui
- Video
- jarak penglihatan
- W3
- dompet
- cara
- Web3
- webp
- yang
- sementara
- SIAPA
- lebar
- Rentang luas
- akan
- bernilai
- menulis
- penulisan
- Kamu
- Anda
- diri
- zephyrnet.dll