基本語法
版本
pragma solidity >=0.7.0 <0.9.0;
- Version是 Pragma
- 表示版本為7.0 - 9.0之間的compiler可以進行編譯
function
function functionName() public view returns(return types){
return message;
沒有回傳則不需要 returns(return types)部分
- Visibility
(1) public : 自己和外部contract都可以呼叫 (2) external : 只有外部contract可以呼叫 (3) internal : 只有contract內部可以呼叫 (4) private : 整個流程都只有contract內部可以呼叫(外c呼叫內c再呼叫 --> X (5) view / constant : function沒有修改合約內容,只有讀資料
- Pure function : 沒有和鏈上的資料作讀取的互動,純粹只要執行方法內容
e.g.
pragma solidity ^0.4.17;
contract Inbox{
//變數
string public message;
//建構子
functoin Inbox(string initialMessage) public {
message = initialMessage;
}
//方法
function setMessage(string newMessage) public {
message = newMessage;
}
function getMessage() public view returns(string){
return message;
}
}
我們其實可以將contract的宣告視為對一個class的宣告