iT邦幫忙

鐵人檔案

2024 iThome 鐵人賽
回列表
自我挑戰組

Solidity 初學之路 系列

  作為一個 Web3、區塊鍊領域的小白,希望可以學習到怎麼撰寫、實作智能合約以及區塊鍊和資安領域的應用,目標是完成從入門開始的 Solidity 學習,再逐步擴展學習範疇,期望能夠探索相關的延伸應用或實作。

鐵人鍊成 | 共 30 篇文章 | 1 人訂閱 訂閱系列文 RSS系列文
DAY 11

DAY 11 - 繼承

繼承 繼承可以減少重複的程式碼,可以把合約看作物件,Solidity 也是支持繼承的物件導向程式語言。Solidity 的繼承包括簡單繼承、多重繼承、修飾器繼承...

2024-09-25 ‧ 由 anzhe 分享
DAY 12

DAY 12 - 抽象合約、介面

抽象合約 如果一個智能合約至少有一個未實現的函數,即某個函數缺少主體 {} 中的內容,則必須將該合約標為 abstract,不然編譯會報錯。另外,未實現的函數需...

2024-09-26 ‧ 由 anzhe 分享
DAY 13

DAY 13 - 異常

異常 Solidity 有三種拋出異常的方法:error、require 和 assert,三種方法的 gas 消耗不同。寫智能合約常常會出 bug,Solid...

2024-09-27 ‧ 由 anzhe 分享
DAY 14

DAY 14 - 函數重載、庫合約

重載 Solidity 中允許函數進行重載(overloading),即名字相同但輸入參數類型不同的函數可以同時存在,他們被視為不同的函數。但 Solidity...

2024-09-28 ‧ 由 anzhe 分享
DAY 15

DAY 15 - 接收與發送 ETH

在寫接收 ETH 合約時,會用到有兩個特殊的函數:receive() 和 fallback()。寫發送合約則可以用 transfer()、send() 和cal...

2024-09-29 ‧ 由 anzhe 分享
DAY 16

DAY 16 - 調用其他合約、Call

在 Solidity 中,一個合約可以呼叫另一個合約的函數,這對建立複雜的 DApps 時非常有用,而在已知合約程式碼(或介面)和位址的情況下,可以呼叫已部署的...

2024-09-30 ‧ 由 anzhe 分享
DAY 17

DAY 17 - Delegatecall

Delegatecall delegatecall 與 call 類似,是 Solidity 中位址類型的低階成員函數。 delegate 是委託/代表的意思,...

2024-10-01 ‧ 由 anzhe 分享
DAY 18

DAY 18 - 在合約中創建新合約

在合約中創建新合約 在以太坊鏈上,使用者(外部帳戶,EOA)可以創造智能合約,智能合約也可以創造新的智能合約。去中心化交易所 uniswap 就是利用工廠合約(...

2024-10-02 ‧ 由 anzhe 分享
DAY 19

DAY 19 - 刪除合約、ABI 編碼解碼

刪除合約 selfdestruct selfdestruct 指令可以用來刪除智能合約,並將合約剩餘的 ETH 轉到指定的地址。selfdestruct 是為了...

2024-10-03 ‧ 由 anzhe 分享
DAY 20

DAY 20 - Hash、函數選擇器、Try Catch

Hash 雜湊函數(hash function)是密碼學概念,它可以將任意長度的訊息轉換成固定長度的值,這個值也稱為雜湊(hash)。 性質 單向:從輸入的訊...

2024-10-04 ‧ 由 anzhe 分享