- 以太坊教程
- 以太坊 - 主页
- 以太坊 - 简介
- 以太坊 - 智能合约
- 以太坊 - 合约编写的可靠性
- 以太坊 - 开发 MyContract
- 以太坊 - 编译合约
- 以太坊 - 部署合约
- 以太坊 - 与合约交互
- 以太坊 - Remix 的局限性
- 以太坊 - Ganache 区块链
- 以太坊 - Ganache 服务器设置
- 以太坊 - 快速演练
- 以太坊 - MyEtherWallet
- 以太坊 - 创建钱包
- 将钱包附加到 Ganache 区块链
- 以太坊 - 部署合约
- 与已部署的合约交互
- 以太坊 - 创建合约用户
- 以太坊 - 总结
- 以太坊有用资源
- 以太坊 - 快速指南
- 以太坊 - 有用的资源
- 以太坊 - 讨论
以太坊 - 合约编写的可靠性
Solidity 是一种专门为合约编写而开发的面向对象语言。它是一种高级语言,继承了 C++、Python 和 JavaScript 的特征。Solidity 编译器将源代码编译为在以太坊虚拟机 (EVM) 上运行的字节码。
要快速了解 Solidity 语法,请查看 IDE 中的示例代码。
pragma solidity >=0.4.22 <0.6.0; contract Ballot {
第一行是给编译器的指令。第二行开始合约的定义。在合同中,您声明变量,例如 -
address chairperson;
您还可以定义提案等结构,并创建这些结构项的数组。在代码窗口中检查这一点。
然后,您可以定义一个在实例化合约时调用的构造函数。
constructor(uint8 _numProposals) public {
在构造函数之后,您将定义几个方法,这些方法是契约方法。在示例合约中,giveRightToVote是一种具有以下语法的方法 -
function giveRightToVote(address toVoter) public {
public关键字使得任何有权访问合约的客户端都可以公开调用此方法。
同样,示例合约定义了另外三个方法,称为delegate、vote和WinningProposal。检查这些内容以了解您自己对 Solidity 语法的理解。这些是编写自己的合同的先决条件。解释 Solidity 的完整语法超出了本教程的范围。