通学智能合约系列(二)
作者:互联网
HelloWorld带你进入Solidity的世界
在线Remix编辑器: http://remix.hubwiz.com/
我们学习任何一门编程语言的时候,都是从helloWorld
开始的,当然,Solidity也不例外。
正所谓工欲善其事,必先利其器。要学习这门语言,我们需要先找一个容易上手的环境。这里Remix便已经为我们准备好了。
打开在线编辑器后,我们会看到如上图三大块,接下来就可以编写我们的第一个智能合约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
这里我们重点看两张图,如下:
发布合约过程
整个的一个过程如下:
编写合约->编译->部署
其他选择框全部默认即可。
执行完成之后,我们可以得到以下交易信息(也是我们生成的区块信息):
依次是我们的
- 交易状态:代表我们交易的执行结果。
- 交易哈希:标记转账需要的字段,通俗来讲就是个人转账凭证。每一个哈希对应交易是唯一的,可以确认交易的隐私性和安全性。
- 合约地址:我们合约部署的区块的地址。
- from:发送者地址
- to:接收者地址。
- gas:交易环境能耗上限。
- 交易消耗:该笔交易占用gas。
- 执行消耗:该笔交易执行消耗的gas
- 哈希值:应该是破解工作量证明的hash值吧???但是和上面的交易hash区别在哪里呢?
- input、decoded input decoded output 这几个东东目前还不能理解是啥。先搁着。
以上的信息不是我们这篇文档的重点,后续有机会做单独阐述。
就代码层面而言,我们可以看出还是很简单的。下节,我们重点来看看solidity的语法。
标签:string,版本号,通学,gas,我们,智能,合约,交易 来源: https://blog.csdn.net/aiwaston/article/details/113531132