Ethereum 简明教程

Ethereum - Solidity for Contract Writing

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 的完整语法超出了本教程的范围。