您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關怎么用10分鐘創建和部署NFT智能合約,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
什么是NFT
NFT代表不可替代的令牌,例如,一個美元鈔票是可替代的,因為您可以將其交換為另一個美元鈔票(并且您不必擔心美元鈔票的序列號)。同樣,比特幣是一個可替代的代幣,因為兩個不同的比特幣完全相同。
那么,不可替代的事物就是那些唯一且不能與其他事物互換的事物。不可替代的令牌本質上是在區塊鏈上跟蹤的唯一令牌。
不可替代的代幣具有以下特征:
它們是唯一的:每個不可替代的令牌都代表數字或現實世界中的某個對象,并且即使存在類似的對象也是唯一的。例如,即使有人“創造”了與NFT相同的數字藝術作品100件,每件都會在區塊鏈上被單獨跟蹤。
它們是可驗證的:這些NFT的歷史所有權記錄在公共分類帳中,并且所有人都可以看到。這使得難以“復制”并且相對簡單地證明真實性。
它們是可交易的:與其他加密資產一樣,它們也是可交易的,盡管通常在特殊交易所交易。
大多數NFT都建立在以太坊區塊鏈之上,如今不可替代令牌(NFT)風行一時,作為開發人員,您可能想知道如何創建自己的NFT。本文將解釋如何以最簡單的方式做到這一點,以便您在短短幾分鐘內就可以啟動并運行。
我們將使用標準的OpenZeppelin ERC721合約,這是智能合約的黃金標準。有許多用于部署智能合約的工具,但是在本文中,我們將使用web3 CLI工具,因為它是編譯和部署合約的最快,最簡單的工具。
搭建環境
在F? llowing東西只是必須做一次,然后就可以部署和互動就像你想不再次做這個東西。
1.安裝CLI工具
這個襯板將安裝該工具,因此您可以立即開始使用它。如果您擔心install.sh的功能,請隨時閱讀。
curl -LSs https://raw.githubusercontent.com/gochain/web3/master/install.sh| SH
2.設置網絡
我們將在這里使用GoChain,因此我們不必支付10美元來部署合同,然后再為每個NFT投入10美元。使用GoChain,我們只需要支付一分錢的一小部分,并且100%與以太坊兼容,因此我們可以像使用以太坊一樣使用它。當然,您可以更改下面的行以指向以太坊,并根據需要支付額外的費用。
export WEB3_NETWORK=gochain # for ethereum: # export WEB3_NETWORK=ethereum
3.添加/獲取氣體
您將需要使用帶有一些供氣的a來進行這些交易,或者創建一個新的供其使用的供氣。這將是GoChain上的$ GO或以太坊上的$ ETH。
要創建一個新帳戶,請運行:
web3 account create
這將打印:
Private key: 0xABC123 Public address: 0xXYZ456
發送一些$ GO到“公共地址”。如果您需要一些$ GO入門,請進入我們的電報并詢問,那里有人會很好地向您發送一兩個$ GO。
復制“私鑰”(或根據需要使用現有的私鑰)并運行:
export WEB3_PRIVATE_KEY=0xABC123
另外,請將此私鑰的副本保存在安全的地方,以便下次使用。
部署工作
既然我們都已設置好網絡集,并且我們的私鑰中設置了一些加油鍵,我們就可以開始玩得開心了。
創建合同
該WEB3 CLI已經內置代碼生成器常見的合同,如ERC20和ERC721的。趕緊跑:
web3 generate contract erc721 --symbol KATS --name "Krypto Kats" --base-uri https://kryptokats.com/token/
這將生成一個名為的文件KATS.sol,該文件是您新的NFT合同的統一程序。
1.部署合同
從這里,我們只需要編譯和部署它。同樣,web3 CLI使此部分變得容易:
web3 contract build KATS.sol web3 contract deploy KATS.bin
這將打印出您的新合同地址。您現在已經部署了NFT合同!
現在已經部署了合同,我們只需要創建新合同即可。鑄造NFT時,您需要提供擁有此新NFT的人員的地址:
web3 contract call --wait --abi KATS.abi --gas-limit 2000000 --function mint 0xABC
此功能產生一個全新的NFT,并將其分配給地址0xABC。ERC721的新OpenZeppelin預設具有自動遞增的ID,因此您將在輸出中看到新的令牌ID。例如:
Parsed Logs: [ { "name": "Transfer", "fields": { "from": "0x00000", "to": "0x000ABC", "tokenId": "0x00001" } } ]
該輸出已被截斷,刪除了一堆零,但是您可以看到新的令牌ID是number 1。
轉移NFT
現在,如果您擁有NFT并想轉讓它,則可以調用該transferFrom函數:
web3 contract call --wait --abi KATS.abi --gas-limit 2000000 --function transferFrom 0xABC 0xXYZ 1
這會將ID為1的令牌轉讓給位于的新所有者0xXYZ。您可以在GoChain Explorer中查看和搜索令牌。
看完上述內容,你們對怎么用10分鐘創建和部署NFT智能合約有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。