# KrypoCamp 第二週作業 - 使用範例檔案,實作部署 ERC721 或 ERC20 ### 事前準備: 1. 進入到 https://remix.ethereum.org/ 網站 2. 找到 Home 標籤頁面裡底下的 LOAD FROM 3. 點擊 Gist 4. 輸入 https://gist.github.com/madeinfree/c7e1302720bfe9bf90c118838f389e4b 5. 確認左邊資料夾中有新增所有本次課程的檔案內容 ### 領取測試鏈(Rinkeby)水管 Ether: 1. 進入到 https://faucets.chain.link/rinkeby 網站 2. 將節點網路切換到 Rinkeby 3. 確認網站上的 Wallet Address 是 Metamask 上面的錢包地址(可以建立新錢包未來練習用,盡量不要用常用地址) 4. 點擊 Send request 5. 通常等待幾秒鐘至一分鐘後即可取得 Ether 6. 多按幾次可以獲得較多的 Ether ## 作業練習內容: ### ERC721 #### 基本必須完成部分(ERC721) 部署方式選擇 JavaScript VM(Lodon) 1. 找到檔案中的 myToken721.sol 2. 嘗試修改 name 與 symbol 3. 調整 mint 數量,確定能夠拿到 2 個 ERC721 Token 4. 添加一個功能並且傳送 n 個數量 ERC721 Token 給二號(ex. 0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2)地址 5. 貼 程式碼 Gist 連結 & 交易成功的截圖 #### 進階部分(可選完成) 部署方式改選使用 Injected Web3(Metamask) 1. 選擇一個測試用的錢包(請新開錢包盡量不要用原本自己在使用的) 2. Metamask 中選擇 Rinkeby 網路進行部署 3. 將必要完成作業的合約部署至 Rinkeby 測試鏈 4. 進行呼叫,並且傳送 1 個 ERC721 Token 至(0x8c86618D194627172101812b51B4b9bB794DAC4c)地址 5. 自行嘗試是否能新增額外功能,使用最直覺撰寫方式即可,不需要針對燃料費用或程式內容進行優化 例如(燃燒 ERC721 Token、退款 ERC721 Token、鑄造購買時將多餘的金額進行自動退款,或有其他想法也行)。 *自行嘗試功能不一定要非常完整,但至少必須要能夠提出偽代碼,並且說明用途,在實體課程時可以一起討論實作方式。 6. 貼 程式碼 Gist 連結 & 交易成功的截圖 --- ### ERC20 #### 基本必須完成部分(ERC20) 部署方式選擇 JavaScript VM(Lodon) 1. 找到檔案中的 myToken.sol 2. 嘗試修改 name 與 symbol 3. 調整 mint 數量,確定能夠拿到 10,000,000 個 ERC20 Token 4. 添加一個功能並且傳送 n 個數量 ERC20 Token 給二號(ex. 0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2)地址 5. 貼 程式碼 Gist 連結 & 交易成功的截圖 #### 進階部分(可選完成) 部署方式改選使用 Injected Web3(Metamask) 1. 選擇一個測試用的錢包(請新開錢包盡量不要用原本自己在使用的) 2. Metamask 中選擇 Rinkeby 網路進行部署 3. 將必要完成作業的合約部署至 Rinkeby 測試鏈 4. 進行呼叫,並且傳送 250 個 ERC20 Token 至(0x8c86618D194627172101812b51B4b9bB794DAC4c)地址 5. 自行嘗試是否能新增額外功能,使用最直覺撰寫方式即可,不需要針對燃料費用或程式內容進行優化 例如(燃燒 ERC20 Token)。 *自行嘗試功能不一定要非常完整,但至少必須要能夠提出偽代碼,並且說明用途,在實體課程時可以一起討論實作方式。 6. 貼 程式碼 Gist 連結 & 交易成功的截圖 --- #### 最終作業 - 完成此作業內容可用於理解 Token 實際上是什麼(難度高,可選) 部署方式改選使用 Injected Web3(Metamask) 不透過原有的標準 ERC20 檔案,思考如何用學習到的語法自行撰寫一個可以自訂 name, symbol,並且完成 totalSupply, balanceOf 與 transfer 的方法使用。 傳送完成的 ERC20 Token 至(0x8c86618D194627172101812b51B4b9bB794DAC4c)地址 貼 程式碼 Gist 連結 & 交易成功的截圖 Gist : * [ERC721](https://gist.github.com/JasonFinley/31e49c3c31d7ceb9d71f6982b9b6cdd1) * [ERC20](https://gist.github.com/JasonFinley/6a9ad5f619f234c87a821b36c30cc929) * [自訂簡單的ERC20](https://gist.github.com/JasonFinley/d105ce4cd314f58d8494a29a4814a921)