2024-04-13|閱讀時間 ‧ 約 27 分鐘

0. Solidity Road Map + 小練習

    raw-image


    1. Basic | Book

    1. 型別 Types 與變數 Variables - booleans, integer, string, address - 01:04:02
    2. Data Structures 資料結構 - array, mapping, struct, enum - 50:14
    3. Extend 繼承 - 04:24
    4. 流程控制 Selection and Repetition 迴圈 For loop, while - 15:36
    5. Modifier 修飾符 - 14:50
    6. 異常處理 Handling Exception - require, assert, revert, try/catch - 20:05
    7. Event 事件 - 21:35
    8. Interface 介面 - 21:48
    9. Receive  - 09:20
    10. Virtual & Override - 10:27
    11. Operator 算術運算子 - 03:09
    12. Relational Operator 關係運算子 - 03:51
    13. Memory Allocation 記憶體配置 - Storage, Memory, Calldata - 13:02
    14. Bitwise 位元運算 - 08:14 太難懂
    15. TryCatch - 08:48
    16. Function
    • Returns - 12:21
    • Visibility 可視性 - public, private, external, internal - 20:48
    • State Mutability 可變性 - pure, view, payable - 13:49
    • Fallback - 06:53
    • 鏈上智能合約互動 1:01:01

    2. ERC20

    1. 多簽錢包的設計 - 23:02
    2. 如何 10 分鐘做一個 ERC20 Rug Pull 項目 - 06:51
    3. UsingFor 引用 Library - 03:12
    4. SafeERC20 - 03:28

    3. ERC721

    1. ERC721 NFT 發行實作 - 20:28
    2. 荷蘭拍多功能實作 - 19:09

    4. Homework

    1. 基礎題 1 解答說明: 發行總量100億顆、位數 18 的代幣 - 07:15
    2. 基礎題 2 解答說明: 發行總量 10 張的 SBT - 07:39
    3. 基礎題 3 解答說明:開發猜數字的合約 - 06:06
    4. 進階題 1 解答 發行盲盒 NFT 並完成解盲 - 23:31
    5. 進階題 2 解答: 實作 ERC721A 並比較 ERC721 與 ERC721A 在 Mint 與 Transfer 下 Gas fee 差異 - 09:13

    5. Others

    1. IPFS 與 Pinata 服務使用 - 22:08
    2. 如何安全的在鏈上生成隨機數 Chainlink VRF - 23:50
    3. 利用 block.timestamp 產生隨機數種子 - 15:04
    4. 如何節省手續費?如何應用白名單機制 - Array 與 Mapping 的差異性 - 23:11
    5. 如何節省手續費?如何應用白名單機制 - Merkle Tree 介紹與實作範例 - 34:50


    [Solidity 小練習] (page 1-13)

    1. 寫一個按下get() Function 會回傳168888的智能合約

    // SPDX-License-Identifier: MIT
    pragma solidity 0.8.24;

    contract myContract {
    function get() public pure returns (uint) {
    return 168888;
    }
    }

    function get 168888

    • get() 函數被聲明為 pure,這意味著它不會讀取或修改合約的狀態,只是返回一個固定的值。

    2. Solidity 是編譯型語言還是直譯型語言?

    直譯型, 要先由編譯器轉成bytecode餵給EVM, 才能成功部署在區塊鏈上。

    3. 佈署智能合約在以太坊區塊鏈上可視為何種行為:

    A. 交易 transaction

    佈署一個智能合約時,實際上是在向區塊鏈提交一筆交易,將合約代碼和相關的元數據(例如合約初始化參數)包含在其中。這筆交易被廣播到網絡上,並且由礦工進行驗證和打包到一個區塊中。一旦交易被包含在區塊中,智能合約就會被成功部署到區塊鏈上,並且可以進行後續的調用和交互。

    B. 鑄造 Minting

    鑄造是指創建新的加密貨幣或代幣的過程。

    C. 分岔 Fork

    分岔是區塊鏈中的一種事件,指的是區塊鏈的歷史記錄因為協議變更或其他原因而分成兩個或多個不同的版本。這可能是有意的(硬分岔),也可能是非意的(軟分岔)。硬分岔會導致區塊鏈的分裂,形成新的分支,而軟分岔則是暫時的,不會導致永久的分裂。

    D. 挖礦 Mining

    挖礦是指通過計算機解決複雜的數學問題來確認和處理交易,以及創建新的區塊的過程。挖礦者通過解決這些問題來競爭新增區塊的權利,同時也獲得相應的獎勵,例如加密貨幣。在以太坊中,挖礦者使用計算能力參與挖礦,並且在成功挖出新區塊後獲得以太幣作為獎勵。


    [Reference]

    1. 區塊鏈工程師 VIP 開發社群 (實戰營精華課程與最新技術教學), KryptoCamp 區塊鏈人才培育第一品牌
    2. 區塊鏈全端工程師實戰營, KryptoCamp 區塊鏈人才培育第一品牌
    3. 區塊鏈全端工程師線上實戰營, KryptoCamp 區塊鏈人才培育第一品牌
    4. Solidity 教學: 基本介紹 Introduction - 智能合約、環境建置與版本控制, KryptoCamp - 區塊鏈工程師與智能合約教學, 2024-02-27
    5. 完整掌握智能合約!成為獨立開發Dapp 的區塊鏈工程師
    分享至
    成為作者繼續創作的動力吧!
    © 2024 vocus All rights reserved.