本篇知识简单介绍创建合约,适合新手,若有不足之处,请指出,这边做些调整,相互学习,共同进步
一:合约简单介绍
Solidity中合约有点类似面向对象语言中的类。合约中有用于数据持久化的状态变量(State Variables),和可以修改状态变量的函数,调用另一个合约实例的函数时,会执行一个 EVM 函数调用,这个操作会切换执行时的上下文,这样,前一个合约的状态变量就不能访问了
二:创建合约
1.可以通过以太坊交易“从外部”或从 Solidity 合约内部创建合约
2.创建合约时,会执行一次构造函数(与合约同名的函数)。构造函数是可选的。只允许有一个构造函数,这表示着不支持重载。
3.如果一个合约想要创建另一个合约,那么创建者必须知晓被创建合约的源代码(和二进制代码)。 这意味着循环创建依赖项目前是不现实的。
pragma solidity ^0.5.0;
//定义合约helloworld
contract helloworld {
string greeting; //定义字符串变量
function helloworld(string _greeting) public {
greeting = _greeting;
}
function say() constant public returns (string) {
return greeting;
}
}