【Solidity】contract句について

Solidityの基本中の基本であるcontract句について解説します。

そもそもcontractとは?

ご存知の通り、contract(コントラクト)とは、「スマートコントラクト」のことを指します。

スマートコントラクトですが、“ブロックチェーン上における、処理を自動的に執行する契約”が記述されたプログラムとなります。

ユーザーから呼び出しが行われると、contract内に書かれた処理が自動的に実行されます。

contractの文法

contractにおける、細かい文法についても記します。

contract名とファイル名は一致させる

Solidityのスタイルガイドライン上、contract名とファイル名を一致させることが推奨されます。

SampleContract.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

contract SampleContract {
}

contractの命名にはCapWordsスタイルを用いる

スタイルガイドライン上、contractの命名にはCapWordsスタイル(各単語の頭文字を大文字にする)を用いることが推奨されます。

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

contract SampleContract {
}

1つのソースファイル上に複数のcontractを定義できる

contract句は、1つのソースファイル上に1つだけでなく、複数定義することもできます。

ただ、コーディング規約の都合上、1ファイル1コントラクトという運用をすることが多いです。

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

contract SampleContract1 {
}


contract SampleContract2 {
}


contract SampleContract3 {
}

contractの定義同士には2行の空白行を設ける

スタイルガイドライン上、contractの定義同士には2行の空白行を設けることが推奨されます。

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

contract SampleContract1 {
}


contract SampleContract2 {
}

Solidityのコードを書く上で必ず記述するcontract句について改めて復習しました。ご存知の内容も多かったかもしれませんが、少しでも新しい学びがあれば嬉しいです。

タイトルとURLをコピーしました