Remixを使う
Solidity公式ドキュメントでも紹介されているRemix IDEは、ブラウザだけでソースコードの編集、コンパイル、デプロイ、実行を試せる開発環境です。最初はローカルへNode.jsやsolcを入れずに始められます。
- Remix IDEを開く
- File explorerで
Storage.solを作る - Solidity Compilerで0.8系を選ぶ
- Deploy & Run TransactionsのEnvironmentをRemix VMにする
秘密情報を入力しない
Remix VMは学習用の仮想環境です。ウォレットの秘密鍵や本物の資産を扱う必要はありません。
コンパイルする
Storage.solSOLIDITY
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
contract Storage {
uint256 private value;
function store(uint256 newValue) external {
value = newValue;
}
function retrieve() external view returns (uint256) {
return value;
}
}先頭のSPDXライセンス識別子は、ソースコードを公開・検証するときに役立ちます。pragmaはコンパイラーの対象バージョンを指定します。コンパイルが成功したら、ABIとバイトコードが生成されます。
デプロイする
Deployボタンを押すと、Remix VM上に新しいStorageコントラクトが作られます。実際のEthereumへ公開する本番デプロイとは違い、ブラウザ内の学習用チェーンで実行されます。
デプロイ後の操作COMMAND
Deploy
retrieve()
store(123)
retrieve()結果OUTPUT
最初のretrieve: 0
store実行後のretrieve: 123読み取りと書き込みを比べる
retrieveはviewなので状態を変更しません。storeは状態を書き換えるため、トランザクション履歴とガス使用量が表示されます。読み取りは無料という意味ではなく、ノードへ問い合わせる処理と、チェーンへ書き込む処理が違うという意味です。
よくあるエラー
- pragmaとコンパイラーのバージョンが合わない:Compilerを0.8系へ合わせる
- ファイル名とコントラクト名を取り違える:Deploy欄の対象を確認する
- 書き込みの反映を待たずに読む:トランザクションが完了してから再実行する
次は基本文法とデータ型で、数値、アドレス、配列、mapping、enumを学びます。