- 以太坊教程
- 以太坊 - 首页
- 以太坊 - 简介
- 以太坊 - 智能合约
- 以太坊 - 编写合约用 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 的完整语法超出了本教程的范围。
广告