Skip to content

Latest commit

 

History

History
72 lines (51 loc) · 3.57 KB

arieswang.md

File metadata and controls

72 lines (51 loc) · 3.57 KB
timezone
Asia/Shanghai

Aries

  1. 自我介绍 Hi, 我是 Aries。38,现在在做 Web3 相关的开发工作。 剛好有這次的學習可以了解到共多以及交到更多的朋友!

  2. 你认为你会完成本次残酷学习吗? 一定會完成。

Notes

2024.09.23

使用Remix將Hello Web3執行起來,並在值类型了解到如果要用於轉帳,要使用payable address 在函數這章節了解到函數有四種並可用在哪些地方,且pure只能用在不能查詢或改寫區塊鏈上的值功能上面,View只能讀取功能 在函数输出章節學習到可以在funtion直接帶入參數不一定要寫return只要直接給變數值就好 在变量数据存储和作用域了解到如果不是真的要長期保存的資料建議不要用storage可選memory和calldata去省錢但如果長度會變化要用memory,變數如果不是萬不得已不要用全域變數gas消耗會很多

2024.09.24

章節6-9滿多都是程式語言基本的東西 在第十章了解到由於length是uint,目前還沒學到轉型別,所以必須配合這個方式去使用 第11章學到可以將自己的合約擁有者在轉移給其他人

2024.09.25

章節12學習到可以去訂閱event,且事件相較於儲存一個新的變量便宜許多 從EVM Log中可以知道交易的所有資訊

2024.09.26

章節13學習到繼承跟覆寫,當多重繼承時會有順序必須是按辈分最高到最低的顺序排,當多重繼承時可以調用父合約函數 當使用鑽石繼承時,如果每一個繼承的合約都有super去調用函數的話整個過程只會被執行一次

2024.09.27

章節14學習到abstract和interface,抽象必須實作出來子函數但interface不用可用於規範介面有哪些 當有合約要給其他人使用時可直接把interface給對方就好,可以很容易知道有哪些函數可直接使用

2024.09.28

章節15學習到可以透過error將一些例外狀況直接拋出且gas是最低的,require會隨著拋出的error長度gas也會增加

2024.09.29

章節16學習到重載可以使用相同函數名稱但輸入輸出可以不同,但參數形態建議還是要不同避免他會陷入一個混亂導致報錯

2024.09.30

章節17學習到可以引用其他人創建好的Lib直接使用,也可以自己發佈Lib去給他人引用

2024.10.01

章節18學習到引用可以直接用網路或者npm以及本地端的合約,透過上一個章節可以寫成Lib後給別人直接引用

2024.10.02

章節19學習到eth轉帳時可以透過fallbackCalled和receive兩個函數去確保在轉帳時後是否要帶足夠資訊,確保合約跟交易的安全性

2024.10.03

章節20學習到三種發送eth方法transfer,send和call,建議使用call主要是底層安全性問題,再來建議使用transfer有revert功能 send不建議使用,因為有問題還會繼續執行下去

2024.10.04

章節21學習到可以透過其他合約的address直接呼叫函數進而達到需要的功能

2024.10.05

章節22學習到可以直接從合約地址直接用函數call進行呼叫,但這方法非常簡陋可能會有不安全也很難查詢

2024.10.06

章節23學習到當如果想要做一個代理合約可以採用delegatecall方式,只要簡單的代理改變就可以做到用戶不需要改變東西就可以直接升級底層

2024.10.07

章節24學習到可以使用create在合約內在創建一個合約,範例中可以利用創建合約後將合約在保存在map裏面就可以一份Code可以創建很多幣種