- 以太坊教程
- 以太坊 - 首頁
- 以太坊 - 簡介
- 以太坊 - 智慧合約
- 以太坊 - 編寫合約用 Solidity
- 以太坊 - 開發 MyContract
- 以太坊 - 編譯合約
- 以太坊 - 部署合約
- 以太坊 - 與合約互動
- 以太坊 - Remix 的限制
- 以太坊 - 用於區塊鏈的 Ganache
- 以太坊 - Ganache 伺服器設定
- 以太坊 - 快速演練
- 以太坊 - MyEtherWallet
- 以太坊 - 建立錢包
- 將錢包連線到 Ganache 區塊鏈
- 以太坊 - 部署合約
- 與已部署合約互動
- 以太坊 - 建立合約使用者
- 以太坊 - 摘要
- 以太坊實用資源
- 以太坊 - 快速指南
- 以太坊 - 實用資源
- 以太坊 - 討論
以太坊 - 編寫合約用 Solidity
Solidity 是一種面向物件的語言,專門為編寫合約而開發。這是一種高階語言,繼承了 C++、Python 和 JavaScript 的特性。Solidity 編譯器將你的原始碼編譯成在以太坊虛擬機器 (EVM) 上執行的位元組碼。
要快速瞭解 Solidity 語法,請檢視 IDE 中的示例程式碼。
pragma solidity >=0.4.22 <0.6.0;
contract Ballot {
第一行是對編譯器的指令。第二行開始定義合約。在合約中,你可以宣告變數,例如 −
address chairperson;
你還可以定義結構,例如 Proposal,並建立這些結構項的陣列。在程式碼視窗中檢查此內容。
然後,你可以定義一個在例項化合約時呼叫的建構函式。
constructor(uint8 _numProposals) public {
在建構函式之後,你將定義幾個方法,即合約方法。在示例合約中,giveRightToVote 是具有以下語法的其中一種方法 −
function giveRightToVote(address toVoter) public {
public 關鍵字使該方法可以被擁有合約訪問許可權的任何客戶端公開呼叫。
同樣,示例合約定義了另外三個方法,稱為 delegate、vote 和 winningProposal。檢查這些方法以瞭解 Solidity 語法。這些是你編寫自己的合約的先決條件。解釋 Solidity 的完整語法超出了本教程的範圍。
廣告