Wszystko, co musisz wiedzieć o tworzeniu NFT na Velas
Tworzenie NFT na Velas może dać zespołom różne korzyści. Obejmują one wykorzystanie inteligentnych kontraktów kompatybilnych z Ethereum, cieszenie się błyskawiczną szybkością transakcji, brak wysokich opłat za gaz i nie tylko.
Treść:
Wprowadzenie
NFT to rewolucyjna technologia, która może przynieść użytkownikom różne korzyści. Na przykład zapewnia użytkownikom dowód własności ich zasobów cyfrowych jak nigdy dotąd. Co więcej, NFT mogą prowadzić do zupełnie nowej ekonomii twórców.
Biorąc pod uwagę wszystkie korzyści, jakie niosą ze sobą NFT, wszyscy mówią o wzmocnieniu swoich projektów za pomocą NFT. Ale czy wiesz, jak opracować inteligentne kontrakty obsługiwane przez NFT? Nie martw się, jeśli nie, ponieważ ten artykuł przeprowadzi Cię przez wszystkie etapy tworzenia inteligentnych kontraktów NFT w Velas Testnet.
Pamiętaj, że ten samouczek pokaże Ci, jak utworzyć jedyny w swoim rodzaju NFT zamiast kolekcji. Zatem ta inteligentna umowa umożliwi użytkownikom tworzenie dowolnych zdjęć lub filmów jako NFT.
Dlaczego Velas?
Dostępnych jest wiele protokołów blockchain. Jednak programiści nadal napotykają problemy podczas korzystania z nich. Na przykład Ethereum boryka się z wysokimi opłatami za gaz i powolnym przetwarzaniem transakcji, podczas gdy inne łańcuchy bloków wymagają od programistów używania nieznanych języków, takich jak Rust.
Z Velaswiększość z tych obaw nie istnieje. Rozwiązanie Velas dziedziczy najlepsze DNA technologii Solany i uzupełnia je o dodatkowe funkcje wspierające kompatybilność z EVM. Daje to użytkownikom i programistom idealną platformę, która gwarantuje doskonałe wrażenia użytkownika i szybszy czas transakcji. Co więcej, upraszcza proces programowania dzięki wsparciu Solidity.
Wymagania wstępne
Aby kontynuować, powinieneś mieć Node i Yarn, menedżera pakietów. Powinieneś także posiadać podstawową wiedzę o Solidity. Jeśli więc nie jesteś z tym zaznajomiony, proszę zaopatrz się w podstawy Solidity i Najpierw kask.
ustawienie
Aby skonfigurować nasz projekt, wykonaj następujące polecenie w terminalu.
npx hardhat
Zobaczysz następujące dane wyjściowe, jeśli nie masz zainstalowanego Hardhat.
Rodzaj Nieruchomości y i kliknij wchodzići rozpocznie się instalacja Hardhat. Jeśli jednak posiadasz już Hardhat, nie wyświetli się monit o instalację Hardhat. Zamiast tego zada kilka pytań na temat tego, jak chcesz skonfigurować projekt.
Chcemy mieć podstawowy projekt JavaScript w naszym bieżącym folderze, więc po prostu kliknij wchodzić za wszystko.
Następnie musimy zainstalować nasze zależności dla projektu. Aby je zainstalować, użyjemy następującego polecenia.
npm install --save-dev "^2.10.1" "@nomicfoundation/^1.0.1" "@openzeppelin/contracts" "dotenv"
Ponieważ używamy Yarn, musimy zainstalować biblioteki używane przez 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
Jeśli używasz npm w wersji 7 lub nowszej, te biblioteki zostaną zainstalowane bezpośrednio.
Warto zaznaczyć, że zanim napiszemy smart kontrakt, musimy zrobić jeszcze jeden krok. Oznacza to usunięcie wszelkich .sol pliki, które widzisz w folderze kontraktów i utwórz nowy plik o nazwie VELASNFT.sol. To jest folder, w którym będziemy pisać naszą umowę.
Jak napisać inteligentną umowę NFT
Konstruktor
Na początek utworzymy inteligentną umowę barebone, w której zdefiniujemy wersję solidności i utworzymy pustą treść inteligentnej umowy.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9; contract VELASNFT { }
Musimy zaimportować podstawowy inteligentny kontrakt i inteligentny kontrakt na usługi użyteczności publicznej. W szczególności są to kontrakty, które zostaną wykorzystane do zbudowania naszego inteligentnego kontraktu NFT. Podstawowa umowa to ERC721URISPrzechowywanie, implementacja ERC721 z zarządzaniem identyfikatorami URI tokenów w oparciu o pamięć.
Liczniki to kontrakt na usługi użyteczności publicznej, który będzie używany do zliczania liczby wybitych NFT.
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol";
Nasza umowa odziedziczy umowę podstawową. Umożliwi to użytkownikom dostęp do wszystkich funkcji umowy podstawowej i naszych inteligentnych umów.
contract VELASNFT is ERC721URIStorage { }
Teraz możemy napisać konstruktor dla naszego kontraktu. Warto zauważyć, że nasz konstruktor nie będzie miał żadnych argumentów, ale musisz przekazać nazwę i symbol konstruktorowi ERC721.
constructor() ERC721("VELASNFT", "VN") {}
Na koniec tego kroku Twoja inteligentna umowa powinna wyglądać tak.
//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") {} }
Zapisanie funkcji mennicy
W przypadku funkcji mennicy musimy najpierw ustawić licznik. Wklej następujący fragment kodu do kontraktu powyżej konstruktora.
using Counters for Counters.Counter; Counters.Counter private _tokenIds;
przypisujemy wszystkie funkcje biblioteki Counters do struktury Counter. Następnie utworzymy zmienną prywatną o nazwie _tokenIds.
Teraz zacznijmy rozwijać tę funkcję. Będzie to wymagało jednego argumentu: tokenURIi będzie to adres URL pliku json, w którym przechowywane są wszystkie metadane. W kolejnych sekcjach przyjrzymy się bliżej metadanym. Funkcja mennicy będzie widoczna publicznie i zwróci identyfikator wybitego NFT, który będzie typu uint256.
function mint(string memory tokenURI) public returns (uint256) { }
Wewnątrz funkcji najpierw uzyskamy aktualny stan licznika.
Aby wybić NFT, użyjemy _Mennica funkcja, która przyjmuje adres i identyfikator jako argumenty. Jako adres użyjemy adresu dzwoniącego, a identyfikator będzie aktualnym licznikiem. Następnie musimy zapisać plik tokenURI.
Aby to zrobić, musimy _setTokenURI, który zapisze URI z odpowiednim identyfikatorem jako klucz. Na koniec zwiększamy licznik, a następnie ID utworzonego NFT.
function mint(string memory tokenURI) public returns (uint256) { uint256 newItemId = _tokenIds.current(); _mint(minter, newItemId); _setTokenURI(newItemId, tokenURI); _tokenIds.increment(); return newItemId; }
Gratulacje! Teraz Twój inteligentny kontrakt może tworzyć NFT! Oto przegląd całej umowy.
//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; }
}
Jak wdrożyć kontrakt
Zbudowaliśmy nasz inteligentny kontrakt NFT. Nadchodzi ekscytujący etap – wdrożenie. Jednak przed wdrożeniem kontraktu musimy go skompilować i napisać skrypt wdrażający kontrakt. Aby skompilować kontrakt, uruchom następujące polecenie w terminalu.
npx hardhat compile
Zobaczysz następujące dane wyjściowe.
Przejdźmy teraz do kolejnego etapu, czyli napisania skryptu wdrożenia tego inteligentnego kontraktu. W tym celu przejdziemy do folderu scripts i otworzymy plik Deploy.js. Następnie usuń całą zawartość i wklej następujący fragment do tego pliku.
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);
});
Przed wdrożeniem kontraktu musimy dodać szczegóły dotyczące sieci testowej Velas do pliku hardhat.config.js. Otwórz plik i dodaj konfigurację sieci testowej 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] } }
};
Warto również wspomnieć, że przed wdrożeniem kontraktu należy dodać klucze prywatne do swojego portfela do pliku .env oraz posiadać w portfelu token testnet VLX. Możesz zdobyć tokeny sieci testowej z tutaj.
Teraz, gdy już wszystko skonfigurowaliśmy, uruchom następujące polecenie w terminalu.
npx hardhat run scripts/deploy.js --network velastestnet
Jeśli polecenie zostanie wykonane pomyślnie, w terminalu zobaczysz wynik podobny do pokazanego poniżej.
Wybij NFT
Po wdrożeniu inteligentnej umowy możemy wybić NFT z terminala. Aby to zrobić, najpierw uruchom konsolę kasku za pomocą następującego polecenia.
npx hardhat console --network velastestnet
Dane wyjściowe pokazano poniżej.
Następnie utworzymy zmienną kontraktową o nazwie „velasnft”, pobierzKontraktAt metoda zwróci obiekt kontraktu.
const velasnft = await ethers.getContractAt("VELASNFT", '0x587133187DEC8E1D5a964254B42FF3627a649313')
Proszę zapoznać się z wynikami pokazanymi poniżej.
Aby wybić NFT, użyjemy metody mennicy velasnft zmienny. Musimy także przekazać link do metadanych do metody. Możesz przeczytać więcej o standardach metadanych TUTAJ.
await velasnft.mint("https://metadatastorage.com/velasnft/0")
Sprawdź wynik poniżej.
Teraz czas sprawdzić właściciela NFT. Ponieważ wybijaliśmy przy użyciu właściciel metodę, przekażmy teraz indeks NFT, który wybiliśmy.
await velasnft.ownerOf(0)
W ten sposób otrzymujemy wynik właściciela NFT.
Wnioski
W artykule dowiedzieliśmy się, jak napisać inteligentną umowę NFT, która umożliwia użytkownikom tworzenie NFT. Ponadto udało nam się wdrożyć go w sieci testowej Velas. Teraz możesz tworzyć nowe aplikacje oparte na technologii NFT i eksplorować dynamiczny ekosystem Velas.
Możesz także sprawdzić, jak zbudować DAO na Velas, korzystając z tego linku.
Velas chce wzmocnić pozycję tych, którzy starają się przyspieszyć rozwój Web3. Dlatego firma Velas uruchomiła program dotacji o wartości 100 milionów dolarów, aby zrealizować tę misję. Tymczasem program ten ma również na celu wsparcie ekspansji ekosystemu Velas.
Z programem grantowym Velasprogramiści mogą efektywniej realizować swoje ekscytujące pomysły. Każdy projekt ma szansę otrzymać dofinansowanie w wysokości do 100,000 XNUMX dolarów. Ponadto wybrane zespoły będą miały dostęp do innych zasobów wspierających rozwój swoich projektów, w tym do marketingu, konsultantów technicznych i nie tylko.
Program grantów obejmuje szeroki zakres kategorii, w tym między innymi DeFi, NFT, gry oparte na blockchain i nie tylko.
Jeśli jesteś zainteresowany przyspieszeniem masowej adopcji kryptowalut i blockchain, złóż wniosek już teraz, aby dołączyć do stale rozwijającego się ekosystemu Velas.
Dowiedz się więcej o Velasie:
Odpowiedzialność — To artykuł sponsorowany. DappRadar nie promuje żadnych treści ani produktów na tej stronie. DappRadar ma na celu dostarczanie dokładnych informacji, ale czytelnicy powinni zawsze przeprowadzić własne badania przed podjęciem działań. Artykuły autorstwa DappRadar nie mogą być traktowane jako porady inwestycyjne.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- Platoblockchain. Web3 Inteligencja Metaverse. Wzmocniona wiedza. Dostęp tutaj.
- Źródło: https://dappradar.com/blog/how-to-create-nft-on-velas
- $ 100 mln
- 000
- 1
- 10
- 7
- 9
- a
- O nas
- powyżej
- przyspieszenie
- dostęp
- Konta
- dokładny
- Działania
- dodatek
- Dodatkowy
- adres
- Przyjęcie
- Rada
- Po
- Cele
- Wszystkie kategorie
- pozwala
- już
- zawsze
- i
- aplikacje
- argument
- argumenty
- artykuł
- towary
- Aktywa
- dostępny
- oczekiwać
- baza
- podstawowy
- Podstawy
- bo
- zanim
- jest
- poniżej
- korzyści
- Korzyści
- BEST
- blockchain
- zasilany przez blockchain
- blockchains
- ciało
- przynieść
- budować
- wybudowany
- nazywa
- Gość
- Może uzyskać
- kategorie
- ZOBACZ
- kolekcja
- zgodność
- zgodny
- Obawy
- konkluzja
- systemu
- za
- Konsola
- Konsultanci
- zawartość
- umowa
- umowy
- Odpowiedni
- Przeciwdziałać
- liczniki
- Okładki
- Stwórz
- stworzony
- Tworzenie
- twórca
- Ekonomia twórców
- cryptocurrencies
- Aktualny
- DAO
- DappRadar
- dane
- DeFi
- rozwijać
- wdrażane
- wdrażanie
- Wdrożenie
- wdraża się
- detale
- rozwijać
- deweloperzy
- oprogramowania
- cyfrowy
- Zasoby cyfrowe
- bezpośrednio
- DNA
- nie
- dynamiczny
- każdy
- gospodarka
- Ekosystem
- skutecznie
- upoważniać
- uprawniającej
- umożliwiać
- popierać
- całkowicie
- ERC721
- błąd
- ethereum
- wszyscy
- wszystko
- przykład
- doskonała
- ekscytujący
- wykonać
- ekspansja
- doświadczenie
- odkryj
- eksport
- Twarz
- znajomy
- FAST
- szybciej
- Korzyści
- Opłaty
- filet
- Akta
- i terminów, a
- obserwuj
- następujący
- Sprzyjać
- Darmowy
- od
- funkcjonować
- Funkcje
- Finansowanie
- Games
- GAS
- opłaty za gaz
- otrzymać
- Dać
- daje
- Go
- przyznać
- Dotacje
- gwarancji
- tutaj
- Wysoki
- W jaki sposób
- How To
- Jednak
- HTTPS
- idealny
- pomysły
- realizacja
- importować
- in
- zawierać
- Włącznie z
- wskaźnik
- Informacja
- zainstalować
- zamiast
- zainteresowany
- Wprowadzenie
- inwestycja
- problemy
- IT
- JAVASCRIPT
- przystąpić
- json
- Klawisz
- Klawisze
- Wiedzieć
- wiedza
- Języki
- uruchomiona
- prowadzić
- dowiedziałem
- lewarowanie
- biblioteki
- Biblioteka
- życie
- Ograniczony
- LINK
- Popatrz
- wygląda jak
- Główny
- zarządzane
- i konserwacjami
- kierownik
- wiele
- Marketing
- Masa
- Masowa adopcja
- Maksymalna szerokość
- W międzyczasie
- średni
- Pamięć
- Metadane
- metoda
- milion
- mięta
- wybity
- Misja
- MIT
- Moduł
- jeszcze
- większość
- ruch
- Nazwa
- Potrzebować
- sieci
- Nowości
- Następny
- NFT
- Inteligentne kontrakty NFT
- NFT
- węzeł
- szczególnie
- numer
- przedmiot
- ONE
- koncepcja
- Otwarte morze
- Okazja
- Inne
- przegląd
- własny
- właściciel
- własność
- pakiet
- profity
- Platforma
- plato
- Analiza danych Platona
- PlatoDane
- Proszę
- plus
- warunki wstępne
- presentation
- prywatny
- Klucze prywatne
- wygląda tak
- przetwarzanie
- Produkt
- Program
- projekt
- projektowanie
- dowód
- chroniony
- protokoły
- zapewniać
- publiczny
- pytania
- zasięg
- Czytaj
- czytelnicy
- otrzymać
- usunąć
- wymagać
- Badania naukowe
- Zasoby
- dalsze
- powrót
- powraca
- rewolucyjny
- run
- Rdza
- Zapisz
- skrypty
- działy
- wybrany
- zestaw
- ustawienie
- powinien
- pokazać
- pokazane
- podobny
- ponieważ
- powolny
- mądry
- inteligentna umowa
- Inteligentne kontrakty
- So
- SOL
- solidność
- rozwiązanie
- kilka
- prędkość
- Łącza
- STAGE
- standardy
- początek
- Ewolucja krok po kroku
- Cel
- Nadal
- sklep
- starać się
- Zmagania
- Z powodzeniem
- wsparcie
- symbol
- Brać
- trwa
- biorąc
- rozmawiać
- Zespoły
- Techniczny
- Technologia
- terminal
- testnet
- Połączenia
- Podstawy
- ich
- Tam.
- w związku z tym
- rzeczy
- Przez
- czas
- do
- żeton
- Żetony
- transakcja
- szybkość transakcji
- prawdziwy
- Tutorial
- nieznany
- URL
- posługiwać się
- Użytkownik
- Doświadczenie użytkownika
- Użytkownicy
- użyteczność
- różnorodny
- Velas
- wersja
- przez
- Filmy
- widoczność
- W3
- Portfel
- sposoby
- Web3
- webp
- który
- Podczas
- KIM
- szeroki
- Szeroki zasięg
- będzie
- wartość
- napisać
- pisanie
- You
- Twój
- siebie
- zefirnet