Solidity言語を勉強して、スマートコントラクト開発を始めてみる

こんにちはー、ニアです。今年もよろしくお願いします!

今年の私は、新たに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のドロップダウンリストから選択します。

Nia-TN-SDfs-normal2.png
Solidityファイルを保存すると、Remix IDEがコンパイルエラーや警告を自動的にチェックしてくれます

コンパイルに成功したら、DEPLOY & RUN TRANSACTIONSを開き、「Deploy」ボタンを押してSampleコントラクトをデプロイします。

「JavaScript VM」はブラウザ上でコントラクトの実行を擬似的に実行できる環境です。実際のEtheriumのノードに接続しないので、作成したコントラクトが正しく動作するかのデバッグをする時に使用します。

デプロイに成功したらそのコントラクトを開き、set関数で整数を設定したり、get関数でその整数を取得できたりできること確認します。

3. おわりに

今回は、Remix IDEを使ってSolidity言語でコントラクトを書き、実行しました。

次は、Solidityの言語仕様をざっくり確認して、本格的なコントラクトを作れるようにしたいと思います。

参考サイト

Nia-TN-SDfs-normal1.png
実はこのRemix IDE、ローカルにインストールして使うこともできます。

[END]

この記事をシェアする
Chronoir.netのRSSフィードを購読する