# QC 題目架構 **簡答題,挑錯題** **及格線:6題/10題** ## Solidity 基礎 (選3題) - 列舉五種 Solidity 的型別並且寫出實際例子 - 寫出一 function 可接受 eth value 並且 return 自定義結果 - 如何在部屬合約時,指定 owner,以程式碼舉例 - ERC20 合約部屬至 rinkeby,寫上部屬的合約地址 - ERC721 合約部屬至 rinkeby,寫上部屬的合約地址 - 寫出一 function 添加 modifier 判斷執行者要是 owner, 且錢包餘額需大於某值 - 試寫出兩種錯誤處理(requre, revert),並解釋兩種的不同 - 試寫出 event 記錄 ## Solidity 進階 (選2題) - 以文字描述為智能合約增加流動性的流程 - 實作 ERC20 質押某代幣,timelock(固定鎖倉期,自定義), reward (回饋該代幣) - 試寫出多簽錢包程式碼,調整同意比例(1/3) ## Solidity 整合開發相關 (選3題) - 試說明如何整合 VSCode, 以及 Remix 的開發環境 - 試寫出 contract auto verify 的 相關內容(npm install xxx, hardhat.config.js, npm hardhat xxx) - 試寫出部屬 ERC721 合約並且先 mint 10 個 NFT 的 hardhat.js script - 列舉 3 種 window.ethereum 事件並說明此事件含意,不包含舉例XD ( ex. accountsChanged) ## Solidity 資安相關 (選1題) - 標註程式碼第幾行可能有資安問題,並說明何種資安問題,並提出解法 ref: https://hackmd.io/@SVMGKOLoRDqczI3S4lKC9Q/SyNzdnNK9#%E5%90%88%E7%B4%84%E8%B3%87%E5%AE%89%E8%88%87%E5%90%88%E7%B4%84%E6%B8%AC%E8%A9%A6%E5%AF%A6%E6%88%B0 - Re-Entrancy Attack - Denial of Service ## Solidity 節省 Gasfee 相關 (選1題) - 嘗試閱讀以下程式碼,如何寫出更節省Gas fee 的方法 - 嘟嘟房片段 - 第二组片段 - TORO 片段