まず初めに、コメントアウト(//
)でコードのライセンスを設定します。
再利用を認めるMITライセンスが指定されることが多いです。
// SPDX-License-Identifier: MIT
次に、Solidityのバージョンを指定します。
バージョンによってガス効率がよくなっていたり、使えるコマンドが増えていたりします。
// バージョン固定
pragma solidity 0.6.0;
// 特定のバージョン内(>=0.6.2 <0.7.0)
pragma solidity ^0.6.2;
// 範囲
pragma solidity >=0.6.0 <0.9.0;
他のファイルからコードをインポートすることも可能です。
import "./SimpleStorage.sol";
上記が終わったらコントラクトを書き始めます。
Pythonとは違い、変数は使用前に定義する必要があります。uint256
など変数のType一覧はDocを参照してください。
変数や関数をコントラクト外から確認できるようにする設定をFunction Visibility Specifiersといいます。
詳細はDoc参照してください。
contract SimpleStorage {
// 256bitsの自然数(正の整数)
uint256 favoriteNumber = 5;
// 256bitsの整数
int256 favoriteInt = -5;
// boolean
bool favoriteBool = false;
// 文字列
string favoriteString = "String";
// バイト列(32bytes)
bytes32 favoriteBytes = "cat";
// アドレス
address favoriteAddress = 0x10eb57969EedFeF0fd7BA022AF3552E0437d4D80;
function store(uint256 _favoriteNumber) public {
favoriteNumber = _favoriteNumber;
}
}