こんにちはー、ニアです。今年もよろしくお願いします!
今年の私は、新たにSolidity言語を使ったスマートコントラクトの開発にチャレンジしていきたいと思います。
今回は、Remix IDEを使って、Solidity言語でコントラクトを書いていきます。
1. Remix IDEとは
Remix IDEは、Solidity言語対応のコントラクトの開発環境のWebアプリで、テキストエディタやコンパイラ、デバッグ、デプロイ機能などが備わっています。Webブラウザがあれば、すぐに始められるので便利です。
2. 早速コントラクトを書いてみる
Remix IDEの左側のFILE EXPLORERにあるcontractsフォルダに、Solidityファイルを新規作成して、コントラクトを作成していきます。なお、Solidityファイルの拡張子は「.sol」です。
とりあえず、変数1つとそれに値を取得・設定できる関数を持つコントラクトを作成します。
// SPDX-License-Identifier: MIT
// ↑先頭のコメントは、ソースファイルのライセンスを表します。(GPL-3.0やMITなど)
// Solidityのコンパイラのバージョンを指定します。このソースの場合、0.8.0以上〜0.9.0未満のバージョンでコンパイルできます。
pragma solidity ^0.8.0;
// contract句で、コントラクトを定義します。C#やTypeScriptでいうclassのようなものと考えてOK
// ここでは、Sampleコントラクトを定義しています。
contract Sample {
// ↓コントラクトで定義した変数。uint型は符号なしの整数です。
uint data;
// 変数dataの値を取得します。
function get() public view returns(uint) {
return data;
}
// 変数dataに値を設定します。
function set(uint _data) public {
data = _data;
}
}
コントラクトを書いたら、SOLIDITY COMPILERを開き、「Compile Sample.sol」ボタンを押してコンパイルします。
もし、Solidityコンパイラのバージョンを変えたい時は、COMPILERのドロップダウンリストから選択します。
コンパイルに成功したら、DEPLOY & RUN TRANSACTIONSを開き、「Deploy」ボタンを押してSampleコントラクトをデプロイします。
「JavaScript VM」はブラウザ上でコントラクトの実行を擬似的に実行できる環境です。実際のEtheriumのノードに接続しないので、作成したコントラクトが正しく動作するかのデバッグをする時に使用します。
デプロイに成功したらそのコントラクトを開き、set関数で整数を設定したり、get関数でその整数を取得できたりできること確認します。
3. おわりに
今回は、Remix IDEを使ってSolidity言語でコントラクトを書き、実行しました。
参考サイト
- Remix – Ethereum IDE & community
- ethereum/remix-project – GitHub
- Welcome to Remix’s documentation! – Remix – Ethereum IDE
[END]