Inteligentní smlouva na NFT za 10 minut? Proč ne

4.6
(5)
Michaela Nocarová
Michaela Nocarová
Už od mala mě táhla technika a sci-fi. Studium IT mě dotáhlo až do světa kryptoměn, kde se pohybuji od roku 2014. Od té doby jsem se toho naučila již mnoho. A stále se mám co učit. Nejvíc mě na nich fascinuje, že spojují tolik světů dohromady a možnost svobodné volby. Bez hranic.

NFT jsou právě teď velké téma a jako vývojáře vás možná zajímá, jak si můžete vytvořit své vlastní NFT. Zde si můžete přečíst, jak to udělat nejjednodušším možným způsobem a za pár minut. Návod použije standardní smlouvy OpenZeppelin ERC721, které jsou zlatým standardem inteligentních smluv. Pro nasazování inteligentních smluv existují různé nástroje, ale nejrychlejší a nejjednodušší nástroj pro kompilaci a nasazení smluv je CL3 web3.

Příprava prostředí

Následující věci je třeba provést jednou, pak lze nasazovat a měnit, jak je libo.

Nainstalujte nástroj CLI

Tento řádek nainstaluje nástroj, lze jej tedy okamžitě používat. Pokud máte obavy, co dělá, můžete si přečíst kód install.sh.

curl -LSs 

https://raw.githubusercontent.com/gochain/web3/master/install.sh | sh

Nastavení sítě

Zde lze použít GoChain, takže není třeba platit 10 USD za nasazení smlouvy a pak 10 USD za každé vyražené NFT. S GoChain bude třeba zaplatit jen zlomek penny a je 100% kompatibilní s ETH. Níže uvedený řádek můžete samozřejmě změnit tak, aby ukazoval na Ethereum, a pokud chcete zaplatit další náklady.

export WEB3_NETWORK=gochain
# for ethereum:
# export WEB3_NETWORK=ethereum

Přidat a nastavit gas

Pro tyto transakce budete muset použít účet, který obsahuje trochu gas, nebo vytvořit nový a do něj gas odeslat. Bude to GO na GoChain nebo ETH pro Ethereum.

Pro nový účet, spusťte:

web3 account create

A dostanete:

Private key: 0xABC123
Public address: 0xXYZ456

Zašlete nějaký GO na „Public address“. Zkopírujte „Private key“ (nebo použijte stávající, který již máte, pokud chcete) a spusťte:

export WEB3_PRIVATE_KEY=0xABC123

Uchovávejte také kopii tohoto soukromého klíče někde v bezpečí, abyste jej mohli příště použít.

Nasazení NFT

Teď už je vše nastaveno a můžete se začít bavit

Vytvoření smlouvy

Web3 CLI má zabudované generátory kódu pro běžné smlouvy, jako jsou ERC20 a ERC721. Pro vytvoření:

web3 generovat smlouvu erc721 --symbol KATS - název "Krypto Kats" --
base-uri https://kryptokats.com/token/

Tím se vygeneruje soubor s názvem KATS.sol, což je Solidity program pro novou smlouvu NFT.

Nasazení smlouvy

Odtud jej potřeba jen zkompilovat a nasadit. Web3 CLI opět usnadňuje tuto část:

web3 contract build KATS.sol
web3 contract deploy KATS.bin

Tím dostanete novou adresu smlouvy. Nyní je NFT smlouva nasazena.

Vytvoření NFT

Nyní, když je smlouva nasazena, jednoduše je potřeba vytvořit další. Nejprve nastavíme adresu kontraktu jako proměnnou prostředí, takže ostatní příkazy budou tuto smlouvu používat:

export WEB3_ADDRESS=0xCONTRACT_ADDRESS

Při vytváření budete muset uvést adresu osoby, která bude vlastnit tento nový NFT:

web3 contract call --wait --abi KATS.abi --gas-limit 2000000 --function mint 0xABC

Tato funkce vyrazí zcela nový NFT a dává jej na adresu 0xABC. Nové předvolby OpenZeppelin pro ERC721 mají automaticky dané ID, takže ve výstupu uvidíte nové ID tokenu – např.:

Parsed Logs: [
{
"name": "Transfer",
"fields": {
"from": "0x00000",
"to": "0x000ABC",
"tokenId": "0x00001"
}
}
]

Tento výstup byl zkrácen, odstraněna spousta nul, ale můžete vidět, že nové ID tokenu je číslo 1.

Přenos NFT

Nyní, pokud vlastníte NFT a chcete jej převést, můžete zavolat funkci transferFrom:

web3 contract call --wait --abi KATS.abi --gas-limit 2000000 --function transferFrom 0xABC 0xXYZ 1

To přenese token s ID 1 na nového vlastníka v 0xXYZ. Tokeny můžete prohlížet a hledat v Průzkumníku GoChain.

Závěr

Dvě naprosto zásadní věci, které kdy s NFT uděláte, je jejich vytváření a poté je lze převádět. NFT jsou v zásadě důkazem vlastnictví, takže hlavní věcí, kterou můžete s jedním udělat, je dokázat, že něco vlastníte nebo prodáte/převedete na někoho jiného. Doufáme, že článek pro vás byl přínosný.

Klikni na hvězdičky pro hodnocení!

Průměrné hodnocení 4.6 / 5. Počet hlasujících 5

Buď první kdo článek ohodnotí

Přihlásit k odběru
Upozornit na
guest
5 Komentáře
nejstarší
Nejnovější S nejvíce hlasy
Zpětná vazba na text v článku
Zobrazit všechny komentáře
Jirka

Nešlo by to vysvětlit podrobněji? Především tu spoustu zkratek.

bkf1

No pokud nejste vývojář (celkově článek působí jako nějaký překlad/přepis bez hlubšího porozumnění autorky), tak bych spíše zkusil Rarible, aspoň mě tohle nejčastěji vyplivlo po zadání “create nft” (na youtube je spousta návodů, jak na to, ale řekl bych že ani nejsou potřeba, je to easy).
PS: Možná taky zkusím narvat tam něco např. nějakou fototvorbu 🙂

Poslední editace 3 let před přes bkf1
Petr
Hodnocení článku :
     

ne “solidní” ale v Solidity, což je programovací jazyk

spot_img