溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么用10分鐘創(chuàng)建和部署NFT智能合約

發(fā)布時(shí)間:2021-10-18 09:37:49 來(lái)源:億速云 閱讀:201 作者:柒染 欄目:編程語(yǔ)言

今天就跟大家聊聊有關(guān)怎么用10分鐘創(chuàng)建和部署NFT智能合約,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

什么是NFT

NFT代表不可替代的令牌,例如,一個(gè)美元鈔票是可替代的,因?yàn)槟梢詫⑵浣粨Q為另一個(gè)美元鈔票(并且您不必?fù)?dān)心美元鈔票的序列號(hào))。同樣,比特幣是一個(gè)可替代的代幣,因?yàn)閮蓚€(gè)不同的比特幣完全相同。

那么,不可替代的事物就是那些唯一且不能與其他事物互換的事物。不可替代的令牌本質(zhì)上是在區(qū)塊鏈上跟蹤的唯一令牌。

不可替代的代幣具有以下特征:

  • 它們是唯一的:每個(gè)不可替代的令牌都代表數(shù)字或現(xiàn)實(shí)世界中的某個(gè)對(duì)象,并且即使存在類(lèi)似的對(duì)象也是唯一的。例如,即使有人“創(chuàng)造”了與NFT相同的數(shù)字藝術(shù)作品100件,每件都會(huì)在區(qū)塊鏈上被單獨(dú)跟蹤。

  • 它們是可驗(yàn)證的:這些NFT的歷史所有權(quán)記錄在公共分類(lèi)帳中,并且所有人都可以看到。這使得難以“復(fù)制”并且相對(duì)簡(jiǎn)單地證明真實(shí)性。

  • 它們是可交易的:與其他加密資產(chǎn)一樣,它們也是可交易的,盡管通常在特殊交易所交易。

大多數(shù)NFT都建立在以太坊區(qū)塊鏈之上,如今不可替代令牌(NFT)風(fēng)行一時(shí),作為開(kāi)發(fā)人員,您可能想知道如何創(chuàng)建自己的NFT。本文將解釋如何以最簡(jiǎn)單的方式做到這一點(diǎn),以便您在短短幾分鐘內(nèi)就可以啟動(dòng)并運(yùn)行。

我們將使用標(biāo)準(zhǔn)的OpenZeppelin ERC721合約,這是智能合約的黃金標(biāo)準(zhǔn)。有許多用于部署智能合約的工具,但是在本文中,我們將使用web3  CLI工具,因?yàn)樗蔷幾g和部署合約的最快,最簡(jiǎn)單的工具。

搭建環(huán)境

在F? llowing東西只是必須做一次,然后就可以部署和互動(dòng)就像你想不再次做這個(gè)東西。

1.安裝CLI工具

這個(gè)襯板將安裝該工具,因此您可以立即開(kāi)始使用它。如果您擔(dān)心install.sh的功能,請(qǐng)隨時(shí)閱讀。

curl -LSs https://raw.githubusercontent.com/gochain/web3/master/install.sh| SH

2.設(shè)置網(wǎng)絡(luò)

我們將在這里使用GoChain,因此我們不必支付10美元來(lái)部署合同,然后再為每個(gè)NFT投入10美元。使用GoChain,我們只需要支付一分錢(qián)的一小部分,并且100%與以太坊兼容,因此我們可以像使用以太坊一樣使用它。當(dāng)然,您可以更改下面的行以指向以太坊,并根據(jù)需要支付額外的費(fèi)用。

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

3.添加/獲取氣體

您將需要使用帶有一些供氣的a來(lái)進(jìn)行這些交易,或者創(chuàng)建一個(gè)新的供其使用的供氣。這將是GoChain上的$ GO或以太坊上的$ ETH。

要?jiǎng)?chuàng)建一個(gè)新帳戶,請(qǐng)運(yùn)行:

web3 account create

這將打?。?/p>

Private key: 0xABC123 Public address: 0xXYZ456

發(fā)送一些$ GO到“公共地址”。如果您需要一些$ GO入門(mén),請(qǐng)進(jìn)入我們的電報(bào)并詢(xún)問(wèn),那里有人會(huì)很好地向您發(fā)送一兩個(gè)$ GO。

復(fù)制“私鑰”(或根據(jù)需要使用現(xiàn)有的私鑰)并運(yùn)行:

export WEB3_PRIVATE_KEY=0xABC123

另外,請(qǐng)將此私鑰的副本保存在安全的地方,以便下次使用。

部署工作

既然我們都已設(shè)置好網(wǎng)絡(luò)集,并且我們的私鑰中設(shè)置了一些加油鍵,我們就可以開(kāi)始玩得開(kāi)心了。

創(chuàng)建合同

該WEB3 CLI已經(jīng)內(nèi)置代碼生成器常見(jiàn)的合同,如ERC20和ERC721的。趕緊跑:

web3 generate contract erc721 --symbol KATS --name "Krypto Kats" --base-uri https://kryptokats.com/token/

這將生成一個(gè)名為的文件KATS.sol,該文件是您新的NFT合同的統(tǒng)一程序。

1.部署合同

從這里,我們只需要編譯和部署它。同樣,web3 CLI使此部分變得容易:

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

這將打印出您的新合同地址。您現(xiàn)在已經(jīng)部署了NFT合同!

現(xiàn)在已經(jīng)部署了合同,我們只需要?jiǎng)?chuàng)建新合同即可。鑄造NFT時(shí),您需要提供擁有此新NFT的人員的地址:

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

此功能產(chǎn)生一個(gè)全新的NFT,并將其分配給地址0xABC。ERC721的新OpenZeppelin預(yù)設(shè)具有自動(dòng)遞增的ID,因此您將在輸出中看到新的令牌ID。例如:

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

該輸出已被截?cái)?,刪除了一堆零,但是您可以看到新的令牌ID是number 1。

轉(zhuǎn)移NFT

現(xiàn)在,如果您擁有NFT并想轉(zhuǎn)讓它,則可以調(diào)用該transferFrom函數(shù):

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

這會(huì)將ID為1的令牌轉(zhuǎn)讓給位于的新所有者0xXYZ。您可以在GoChain Explorer中查看和搜索令牌。

看完上述內(nèi)容,你們對(duì)怎么用10分鐘創(chuàng)建和部署NFT智能合約有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

nft
AI