黑客松手把手教程:三步創建NFT 獲得100枚ROS代幣獎勵

2021-04-06 12:04:58

黑客松手把手教程:三步創建NFT 獲得100枚ROS代幣獎勵

 本教程將引導您完成以下任務:

◎ 如何在Oasis Ethereum ParaTime上部署ERC-721智能合約

◎ 用關聯的數字資產鑄造ERC-721代幣

◎ 將ERC-721代幣轉讓給其他人

01

什么是ERC-721代幣

ERC721代幣通常被稱為不可替代代幣,即大家所說的NFT。

2017年,加密貓橫空出世,NFT被人們用來標記數字資產的所有權,它獨立無二且極富藝術想象力,在ETH上掀起了一場NFT數字藝術浪潮,不少加密藝術愛好者參與其中,其參與設計的NFT作品價格也隨之水漲船高。

黑客松手把手教程:三步創建NFT 獲得100枚ROS代幣獎勵

在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。

黑客松手把手教程:三步創建NFT 獲得100枚ROS代幣獎勵

然後,從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代幣。

黑客松手把手教程:三步創建NFT 獲得100枚ROS代幣獎勵

 步驟3:編譯和部署智能合約 

接下來,在BUIDL中選擇Solidity語言編譯器版本。在此處選擇Solidity 0.4.26。

黑客松手把手教程:三步創建NFT 獲得100枚ROS代幣獎勵

將源代碼復制並粘貼到合約選項卡中。

您可以在此處找到ERC-721智能合約源代碼:

https://github.com/second-state/oasis-ssvm-runtime/wiki/ERC-721-Smart-Contract

黑客松手把手教程:三步創建NFT 獲得100枚ROS代幣獎勵

在智能合約代碼的最後,【contract MyNFT】是鑄造ERC-721代幣的意思。在這裏,您可以為您的ERC-721代幣留下獨一無二的標記。

單擊【Compile】按鈕,然後選擇【MyNFT】部署到區塊鏈。

黑客松手把手教程:三步創建NFT 獲得100枚ROS代幣獎勵

部署成功,現在您已經完成了在Oasis Ethereum ParaTime上發行ERC-721代幣的一半。

在BUIDL中調用該函數【totalSupply】,並看到它返回0。此合約中尚無代幣,我們的教程下一步就是使用我們構建的ERC-721代幣。

黑客松手把手教程:三步創建NFT 獲得100枚ROS代幣獎勵

讓我們來到【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。

黑客松手把手教程:三步創建NFT 獲得100枚ROS代幣獎勵

Tx確認後,我們可以檢查部署的ERC-721合約和構建的ERC-721代幣的狀態。再次調用【totalSupply】函數,這次返回的是1。

黑客松手把手教程:三步創建NFT 獲得100枚ROS代幣獎勵

輸入【tokenId】並調用【ownerof】函數。它返回我們剛才在【mintToken】函數中輸入的地址。

黑客松手把手教程:三步創建NFT 獲得100枚ROS代幣獎勵

輸入【tokenId】,並調用【tokenURI】函數,它返回我們剛才在【mintToken】函數中輸入的URL。

黑客松手把手教程:三步創建NFT 獲得100枚ROS代幣獎勵

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合約。

黑客松手把手教程:三步創建NFT 獲得100枚ROS代幣獎勵

我們看到了以前部署的ERC-721合約。

黑客松手把手教程:三步創建NFT 獲得100枚ROS代幣獎勵

進入【approve】功能。在地址中輸入一個地址,以指定給定ERC-721的接收者。在【tokenId】中輸入 id 來傳輸唯一的NFT代幣。不同的【 tokenId 】表示不同的NFT代幣。

黑客松手把手教程:三步創建NFT 獲得100枚ROS代幣獎勵

 步驟2:轉移ERC-721代幣 

【safeTransferFrom】函數將【tokenId】代幣從【from】轉到【to】。

在【from】中輸入所有者的地址。在【to】中輸入接收者的地址,在【tokenId】中輸入id。這三個參數將確保你傳輸的NFT代幣是正確的。

黑客松手把手教程:三步創建NFT 獲得100枚ROS代幣獎勵

我們可以調用【ownerof】和【balanceof】函數來查看代幣的狀態。代幣的所有者已經轉移到下方账戶中:

0xbf9a58574aab193f0c442f6f7dea22ec413db648

黑客松手把手教程:三步創建NFT 獲得100枚ROS代幣獎勵

04

小結及預告

值得注意的是,請一定要記住保存您的代幣地址和代幣ID,這些信息需要通過此表格提交給黑客馬拉松組織者。

提交鏈接:

https://oasisprotocol.org/oasis-eth-hackaton-tcs

未來一段時間,我們將創建一個基於網絡的Dapp來顯示和發送您的NFTs。更多精彩,敬請期待!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

推薦文章

比特幣飆破6.4萬美元,渣打銀行:Fed降息將引爆加密市場新一輪上漲

美 國聯準會(Fed)在昨(19)日凌晨決議降息 2 碼(50 個基點)至 4.75% ~ 5%...

Natalia Wu
0 6秒前

BingX 交易所證實熱錢包遭駭:暫時停止出金、正制定全額補償計劃

今 (20)晨社群 X 上開始出現 BingX 交易所疑似遭駭的消息。稍早 09:30 左右,Bi...

Joe
0 8秒前

冷熱分離+資產承保,HashKey Global 安全與合規建設處於領先地位

近 期,加密產業頻繁發生安全事件,資金安全始終是用戶關注的核心。 HashKey Global 在...

廣編頻道
0 9秒前

特朗普受訪全文:美國環境對加密貨幣非常敵對 SEC 正在嚴厲打擊

編譯:吳說區塊鏈 在本期節目中,唐納德·特朗普與他的兒子小唐納德·特朗普(Don Jr.)和埃裏克...

吳說Real
0 10秒前

Aptos生態洞察:Tapos為鏈遊帶來革新

區塊鏈技術一直被認為有潛力开闢全新的應用場景,而 Tapos 則真正展示了這一潛力在遊戲領域的應用...

星球日報
0 13秒前

星球日報|特朗普首次使用BTC進行加密貨幣交易;Pectra升級將拆分成兩次執行(9月20日)

頭條 特朗普首次使用 BTC 進行加密貨幣交易 Odaily星球日報訊 共和黨總統候選人唐納德·特...

星球日報
0 15秒前