HelloWorld带你进入Solidity的世界



我们学习任何一门编程语言的时候,都是从​​helloWorld​​开始的,当然,Solidity也不例外。

正所谓工欲善其事,必先利其器。要学习这门语言,我们需要先找一个容易上手的环境。这里Remix便已经为我们准备好了。

通学智能合约系列(二)--你的第一个智能合约_d3

打开在线编辑器后,我们会看到如上图三大块,接下来就可以编写我们的第一个智能合约HelloWord.sol了。

helloWorld

我们编辑如下程序:

//声明版本号
pragma solidity ^0.4.16;
//合约 有点类似于java中的class
contract HelloWorld{
//合约属性变量
string myName = "通学Java";
//合约中方法 注意语法顺序 其中此处view 代表方法只读 不会消耗gas
function getName() public view returns(string){
return myName;
}
//可以修改属性变量的值 消耗gas
function changeName(string _newName) public{
myName = _newName;
}
// pure:不能读取也不能改变状态变量
function pureName(string _name) public pure returns(string){
return _name;
}

}

这段代码对于有经验的开发人员来说,应该不用做过多解释,需要的是你自己亲手敲一遍哦。

这里值得注意的是:程序中的版本号要和右侧编译器版本号一致。本文档统一采用版本号​​0.4.16​​.

小知识:


用constant、view、pure修饰function分别表示:


  • constant:只能读取不可改变状态变量(就是contract中定义的变量)
  • view:只能读取不可改变状态变量,和constant一样
  • pure:不能读取也不能改变状态变量


想要详细了解他们的区别,请点击: https://www.jianshu.com/p/5f1bc0d39d79

这里我们重点看两张图,如下:

通学智能合约系列(二)--你的第一个智能合约_java_02

通学智能合约系列(二)--你的第一个智能合约_版本号_03

发布合约过程

整个的一个过程如下:

编写合约->编译->部署

其他选择框全部默认即可。

执行完成之后,我们可以得到以下交易信息(也是我们生成的区块信息):

通学智能合约系列(二)--你的第一个智能合约_版本号_04

依次是我们的


  1. 交易状态:代表我们交易的执行结果。
  2. 交易哈希:标记转账需要的字段,通俗来讲就是个人转账凭证。每一个哈希对应交易是唯一的,可以确认交易的隐私性和安全性。
  3. 合约地址:我们合约部署的区块的地址。
  4. from:发送者地址
  5. to:接收者地址。
  6. gas:交易环境能耗上限。
  7. 交易消耗:该笔交易占用gas。
  8. 执行消耗:该笔交易执行消耗的gas
  9. 哈希值:应该是破解工作量证明的hash值吧???但是和上面的交易hash区别在哪里呢?
  10. input、decoded input decoded output 这几个东东目前还不能理解是啥。先搁着。

以上的信息不是我们这篇文档的重点,后续有机会做单独阐述。

就代码层面而言,我们可以看出还是很简单的。下节,我们重点来看看solidity的语法。