基于Ethereum Wallet的Solidity Hello

2018-11-19  本文已影响0人  Venture_Mark

本篇文章,我们将编写一个最基本的合约代码,并且一步步讲解如何通过Ethereum Wallet将合约部署到区块链,同时我们将通过本demo的演示如何通过发送数据和接收数据和合约进行交互。

Solidity合约的语法和面向对象编程语言非常相似,一个合约有我们能够调用的方法(函数)和能够存储数据和读取数据的属性(状态变量)

Counter合约源码

我们的Counter合约将increment方法被调用的次数存储到count属性中。并且每个人都可以通过getCount方法获取区块链上count的值。

pragma solidity ^0.4.4;

contract Counter {

    /* 定义一个uint类型的count变量 */
    uint count = 0;

    /* 当这个方法被调用时count的值会加1 */
    function increment() public {
       count = count + 1;
    }

    /* 读取count数据 */
    function getCount() constant returns (uint) {
       return count;
    }

}

Counter合约部署

image.png

[图片上传失败...(image-4732e1-1542626858817)]

和Counter合约互动

小结

部署合约时,因为要往区块链写入数据,需要矿工进行验证,所以需要花费一些gas奖励给矿工,还有当我们每次调用increment方法时,也属于写入数据,同样需要花费gas,但是调用getCount方法时只是从区块链读取数据,无需验证,读取数据无须花费gas。

上一篇下一篇

猜你喜欢

热点阅读