# 第 1 次讀書會實作練習 - 使用範例檔案,實作部署 ERC721 或 ERC20 作業 [TOC] ## 基本題一 部屬 ERC721 #### 1.找到myToken721.sol ![](https://i.imgur.com/tmnBtB3.png) #### 2.嘗試修改name與symbol 學生改為"CharmingFish", "CMF" ```solidity= // contracts/GameItem.sol // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; import "@openzeppelin/contracts/utils/Counters.sol"; contract MyNFT is ERC721 { constructor() ERC721("CharmingFish", "CMF") {} function mint(uint256 tokenId) public { _mint(msg.sender, tokenId); } } ``` #### 3.調整 mint 數量,確定能夠拿到 2 個 ERC721 Token ![](https://i.imgur.com/JUXYJ0P.png) #### 4.添加一個功能並且傳送 n 個數量 ERC721 Token 給二號地址 ```solidity= function transferFrom(address from,address to,uint256 tokenId) public virtual override { require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: caller is not token owner or approved"); _transfer(from, to, tokenId); } ``` #### 5.貼程式碼Gist連結 & 交易成功的截圖 Link : https://gist.github.com/Charming0420/de47b5b82f097de6e6f1e423981551c3 截圖 : ![](https://i.imgur.com/zXrJxfl.png) <br> ## 基本題二 部屬 ERC20 #### 1.找到檔案中的 myToken.sol ![](https://i.imgur.com/p4fO8Xr.png) #### 2.嘗試修改 name(CharlesToken) 與 symbol(CS) 學生改為"CharmingFish", “CMF” ```solidity= // contracts/GLDToken.sol // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; contract MyToken is ERC20 { constructor(uint256 initialSupply) ERC20("CharmingFish", "CMF") { _mint(msg.sender, initialSupply); } } ``` #### 3.調整 mint 數量,確定能夠拿到 10,000 個 ERC20 Token ![](https://i.imgur.com/KlwNsFl.png) #### 4.添加一個功能並且傳送 n 個數量 ERC20 Token 給二號地址 ```solidity= function buyToken(address to, uint256 amount) public{ address owner = msg.sender; _transfer(owner,to,amount); } ``` #### 5.貼程式碼Gist連結 & 交易成功的截圖 Link : https://gist.github.com/Charming0420/655c877277c7126a37a238cabbcc677d 截圖 : ![](https://i.imgur.com/IFoX5f0.png) <br> <!-- ## 進階題一 ERC721自行添加功能優化,部署至Goreli測試鏈 #### 1. 選擇一個測試用的錢包 #### 2. MetaMask中選擇Goreli網路進行部署 #### 3. 將必要完成作業的合約部署至Goreli測試鏈 #### --> ###### tags: `KryptoCamp 第 1 次讀書會實作練習`