以太坊 - 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、votewinningProposal。检查这些方法以了解 Solidity 语法。这些是编写您自己的合约的先决条件。解释 Solidity 的完整语法超出了本教程的范围。