黑客松手把手教程:三步創建NFT 獲得100枚ROS代幣獎勵
本教程將引導您完成以下任務:
◎ 如何在Oasis Ethereum ParaTime上部署ERC-721智能合約
◎ 用關聯的數字資產鑄造ERC-721代幣
◎ 將ERC-721代幣轉讓給其他人
01
什么是ERC-721代幣
ERC721代幣通常被稱為不可替代代幣,即大家所說的NFT。
2017年,加密貓橫空出世,NFT被人們用來標記數字資產的所有權,它獨立無二且極富藝術想象力,在ETH上掀起了一場NFT數字藝術浪潮,不少加密藝術愛好者參與其中,其參與設計的NFT作品價格也隨之水漲船高。
在Oasis Ethereum ParaTime上創建一個ERC-721代幣,用以代表您的數字資產,並將它分享給朋友和家人,說不定它能一炮而紅一天賺幾百萬,區塊鏈行業的奇跡又有誰能預測呢?
02
部署ERC-721智能合約
Oasis Ethereum ParaTime與以太坊協議完全兼容。使用Solidity編寫的ERC-721智能合約可以直接部署到Oasis Ethereum ParaTime上,無需進行任何更改。
您可以使用名為【BUIDL】的在线IDE工具在Oasis Ethereum ParaTime上構建和部署ERC-721智能合約。
下面為大家介紹詳細內容。
步驟1:設置MetaMask
打开MetaMask,然後選擇【custom RPC】。
輸入網絡名稱並添加Oasis Ethereum的RPC鏈接:
https ://rpc.oasiseth.org:8545
這會將MetaMask錢包配置為使用Oasis Ethereum ParaTime。
然後,從OETH开發者那裏存0.01枚OETH到MetaMask帳戶中。
您可以在MetaMask的【Account details menu】菜單中導出該帳戶的私鑰。
步驟2:將MetaMask地址導入BUIDL
接下來,打开用於Oasis Ethereum ParaTime的BUIDL在线IDE。
地址:
http://oasiseth.org/dev/hack
單擊以打开【account】,選擇導入,導入MetaMask私鑰,您將在BUIDL中看到您的MetaMask账戶地址。您將使用此账戶地址來部署您的ERC-721智能合約並創建NFT代幣。
步驟3:編譯和部署智能合約
接下來,在BUIDL中選擇Solidity語言編譯器版本。在此處選擇Solidity 0.4.26。
將源代碼復制並粘貼到合約選項卡中。
您可以在此處找到ERC-721智能合約源代碼:
https://github.com/second-state/oasis-ssvm-runtime/wiki/ERC-721-Smart-Contract
在智能合約代碼的最後,【contract MyNFT】是鑄造ERC-721代幣的意思。在這裏,您可以為您的ERC-721代幣留下獨一無二的標記。
單擊【Compile】按鈕,然後選擇【MyNFT】部署到區塊鏈。
部署成功,現在您已經完成了在Oasis Ethereum ParaTime上發行ERC-721代幣的一半。
在BUIDL中調用該函數【totalSupply】,並看到它返回0。此合約中尚無代幣,我們的教程下一步就是使用我們構建的ERC-721代幣。
讓我們來到【mintToken】功能。
進入【mintToken】函數,在【tokenId】中輸入地址,以分配新ERC-721代幣的所有者。在【tokenId】中輸入一個整數,以設置ERC-721代幣的唯一 ID。在【uri】中輸入數字資產的 URL,例如圖片或影片,將數字資產與 ERC721 token 關聯。
點擊【Transact】按鈕來構建ERC-721代幣。
如果您想構建更多的ERC-721代幣,只需在【mintToken】函數中設置其他【to, tokenId, uri】參數即可。
請注意,每個token id只能對應一個數字資產URL。如果您想為一個新的URL鑄造一個新的ERC-721代幣,您需要使用不同的代幣ID。
Tx確認後,我們可以檢查部署的ERC-721合約和構建的ERC-721代幣的狀態。再次調用【totalSupply】函數,這次返回的是1。
輸入【tokenId】並調用【ownerof】函數。它返回我們剛才在【mintToken】函數中輸入的地址。
輸入【tokenId】,並調用【tokenURI】函數,它返回我們剛才在【mintToken】函數中輸入的URL。
03
交易ERC-721代幣
步驟1:取得傳輸ERC-721代幣的權限
【approve】功能允許將【tokenId】標記的代幣從一個账戶轉移到另一個账戶。函數調用者必須擁有【tokenId】代幣。所以我們需要將其所有者账戶的私鑰導入到BUIDL中。
如何部署合約
如果您使用同一個账戶部署ERC-721智能合約,並接收到已構建好的ERC-721代幣,請忽略此步驟,只需調用【approval】函數。
復制ERC-721智能合約地址;
導入你收到ERC-721代幣的账戶;
復制並粘貼相同的智能合約源代碼;
點擊【Compile】按鈕,選擇【MyNFT】;
粘貼ERC-721合約地址並點擊【At】。現在,我們有一個實例到BUIDL中部署的ERC-721合約。
我們看到了以前部署的ERC-721合約。
進入【approve】功能。在地址中輸入一個地址,以指定給定ERC-721的接收者。在【tokenId】中輸入 id 來傳輸唯一的NFT代幣。不同的【 tokenId 】表示不同的NFT代幣。
步驟2:轉移ERC-721代幣
【safeTransferFrom】函數將【tokenId】代幣從【from】轉到【to】。
在【from】中輸入所有者的地址。在【to】中輸入接收者的地址,在【tokenId】中輸入id。這三個參數將確保你傳輸的NFT代幣是正確的。
我們可以調用【ownerof】和【balanceof】函數來查看代幣的狀態。代幣的所有者已經轉移到下方账戶中:
0xbf9a58574aab193f0c442f6f7dea22ec413db648
04
小結及預告
值得注意的是,請一定要記住保存您的代幣地址和代幣ID,這些信息需要通過此表格提交給黑客馬拉松組織者。
提交鏈接:
https://oasisprotocol.org/oasis-eth-hackaton-tcs
未來一段時間,我們將創建一個基於網絡的Dapp來顯示和發送您的NFTs。更多精彩,敬請期待!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。