book.ethereum-jp.net
入門としてよくまとまってるこれ、SolidityのコードがMacに普通にインストールしたコンパイラで動かなかったのでメモ
最初にコンパイルしようとしたところ
Error: Source file requires different compiler version (current compiler is 0.5.7+commit.6da8b019.Darwin.appleclang - note that nightly builds are considered to be strictly less than the released version
pragma solidity ^0.4.0;
^---------------------^
pragmaで怒られてしまった。ここを
pragma solidity >=0.4.0;
に変更してみる。
再度コンパイル。
Error: The state mutability modifier "constant" was removed in version 0.5.0. Use "view" or "pure" instead.
function get() public constant returns (uint retVal){
^------^
なんかviewかpure使えと言われてるので、とりあえずview使う。
pragma solidity >=0.4.0;
contract SingleNumRegister {
uint storedData;
function set(uint x) public{
storedData = x;
}
function get() public view returns (uint retVal){
return storedData;
}
}
こんなコードにしてコンパイル。
とりあえずコンパイル通ってBinaryとContract JSON ABIが出力された。