iT邦幫忙

2024 iThome 鐵人賽

DAY 10
0

Solidity是一種專門為開發智能合約設計的高級編程語言,主要在以太坊(Ethereum)和其他基於區塊鏈的平台上使用。

在 Solidity 中,定義合約的方式非常直觀。合約是區塊鏈應用中的基本單位,類似於面向對象編程中的類(class)。合約包含狀態變量(存儲數據)、函數(實現邏輯)、事件(記錄特定行為)等。

這是一個簡單的合約範例
https://ithelp.ithome.com.tw/upload/images/20240924/20169238LYSwH6XVWe.png

合約的組成部分
1.contract ContractName
* contract 關鍵字定義了一個合約,ContractName 是合約的名稱。
2.狀態變量(State Variables)
* 在合約中宣告的變量會被存儲在區塊鏈中。uint256 public storedData; 是一個 無符號的整數。
* 在 Solidity 中,整數可以分為有符號整數和無符號整數。
* 有符號整數(Signed Integer)
* 有符號整數可以表示正數和負數。關鍵字是 int 或 int256,其中 int256 表示 256 位的有符號整數。
* 無符號整數(Unsigned Integer)
* 無符號整數只能表示非負數。關鍵字是 uint 或 uint256
3.建構函數(Constructor)
* constructor() 是當合約部署時被自動執行的函數,這裡可以設定初始狀態,比如 storedData 設定為 100。
4.函數(Functions)
* 寫入函數:set(uint256 x) 用來修改狀態變量。
* public 表示這個函數可以被任何人調用。
* 讀取函數:get() 用來返回當前的 storedData。
* view 關鍵字表示這個函數不會修改區塊鏈上的數據,僅做讀取操作。


上一篇
DApps 和區塊鏈應用場景
下一篇
Solidity 中的主要資料類型
系列文
區塊鏈技術應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言