pragma solidity ^0.4.19;
contract Stratus {
string public greeting;
address public owner;
event GreetingChanged (string oldGreeting, string newGreeting)
function Stratus(string _greeting) {
greeting = _greeting;
owner = msg.sender;
}
function setGreeting (string _greeting){
require(owner == msg.sender)
GreetingChanged(greeting,_greeting)
greeting = _greeting
}
}发布于 2019-06-22 09:12:35
您所使用的“坚固”的版本是非常古老的。solidity的最新稳定编译器是version:0.5.8+commit.23d335f2.Emscripten.clang。可以使用以下代码删除上述错误。但你必须使用最新版本的坚固。
pragma solidity >=0.4.0 <0.6.0;
contract Stratus {
string public greeting;
address public owner;
event GreetingChanged (string oldGreeting, string newGreeting);
constructor(string memory _greeting) public {
greeting = _greeting;
owner = msg.sender;
}
function setGreeting (string memory _greeting) public {
require(owner == msg.sender);
emit GreetingChanged(greeting,_greeting);
greeting = _greeting;
}
}如果您想获得上述契约的ABI和字节码,那么可以通过在混炼中粘贴代码来获得它。

但是,首先,将混合中的编译器版本更改为version:0.5.8+commit.23d335f2.Emscripten.clang。

如果它显示新的布局,则使用较旧的混合布局。

我所做的
pragma solidity >=0.4.0 <0.6.0;public,您也可以将它们设置为私有memory,就好像我们要创建一个数组作为函数的参数一样,那么我们必须首先为它保留内存。emit。您还可以检查坚固性的最新稳定版本的语法。
https://ethereum.stackexchange.com/questions/72111
复制相似问题