用Solidity语言通过以太坊钱包开发hello world示例

使用以太坊钱包开发实现经典的HelloWord智能合约类。本文中,我们将看到如何编写简单的合约并将其部署到区块链上。我们还将通过发送和读取数据来了解如何与我们的智能合约进行交互。

Solidity的合约语法实际上与面向对象编程语言中的类很类似。智能合约有我们可以调用的函数和可以存储和读取的变量。

我们的Counter合约将存储它被调用的次数,使这个值可供每个人从区块链上读取。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
pragma solidity ^0.4.11;

contract Counter {

/* define variable count of the type uint */
uint count = 0;

/* this runs when the contract is executed */
function increment() public {
count = count + 1;
}

/* used to read the value of count */
function getCount() constant returns (uint) {
return count;
}

}

1.首先要发布我们的智能合约到区块链上,打开以太坊钱包 Ethereum Wallet,点击 “智能合约” contracts。

2.然后单击“部署一个新合约” Deploy a new contract。

3.在以太坊钱包的代码文本编辑区域填写我们的Counter合约代码。

4.在以太坊钱包的右边选择你想部署的合同:我们的Counter智能合约。

5.输入你的密码并按下“发送交易” Send transaction。gas价格是将你的合约发布到区块链所需的数量,另外一篇文章讨论如何计算智能合约gas

你可以看到计数器值等于0。在区块链上,读取一个值不需要花费任何代价,这就是为什么你可以看到这里显示的值。

现在,如果你执行我们的增值函数,猜猜会发生什么?我们的计数器值等于1。这可能需要一些时间,因为当下一个块被挖掘时,代码的执行必须写在区块链中。

如果再一次执行增量函数,就会看到计数器值的变化!

这样你就通过以太坊钱包开发并部署了你的第一份以太坊智能合约,并进行了互动。

  • 以太坊教程,主要介绍智能合约与dapp应用开发,适合入门。
  • 以太坊开发,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。

汇智网原创翻译,转载请标明出处。原文