4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ブロックチェーンエンジニアの第一歩、初めてのSolidity(環境構築なし)

Last updated at Posted at 2022-05-25

はじめに

今回はブロックチェーンエンジニアにのはじめの一歩として、環境構築なしでSolidityでプログラミングをする開発体験をご紹介します。

Solidityは、スマートコントラクト(Ethereumにおけるブロックチェーン上で動作するプログラム)を開発するプログラミング言語です。
言語の特徴としては静的言語でC++やPython、JavaScriptを参考に作られています(公式ドキュメントより引用)。

記事執筆時点(2022/05/25)での最新バージョンが0.8.14と、まだまだ発展途上なプログラミング言語ですが、スマートコントラクトを開発する上での主要言語となるため、この記事をきっかけに少しでも知ってもらえたらと思います。

今回の開発に必要な環境

本記事の開発では、ブラウザ上で動作するRemix IDEを使用します。
ブラウザ上で動くIDEを使用するため、特別な開発環境構築の手間はありません。

image.png

Solidityを書いてみる

実際にRemix IDEを使ってSolidityで簡単なスマートコントラクトを開発してみます。

Hello, World!

まずは、Solidityを使ってHello, World!を表示してみましょう。
既存で作られているcontractsフォルダ配下にhelloWorld.solを作成します。
image.png

作ったファイルに、下のような形でコードを書くことで簡単に変数や関数を書くことができます。

HelloWorld.sol
// SPDX-License-Identifier: MIT

pragma solidity >=0.7.0 <0.9.0;


contract HelloWorld {
    string greet = "Hello, World!";
    
    function helloWorld() public view returns(string memory){
        return greet;
    }
}

書いたコードは下図左タブの赤線が引いている場所を選択し、コンパイラなどの基本設定をすることでコンパイルができます。
コンパイルが成功すると、下図の左タブのように緑のチェックマークが付きます。
コンパイルできない場合はエラーが表示されるので、エラーの表示をもとに、記述したコードにミスが無いか確認します。
image.png

コンパイル後、次は下図の左タブに移動し、実際にコンパイルしたコントラクトをデプロイしてみます。
デプロイが成功するとDeployed Contractsの下に、対象のコントラクトがデプロイされていることを確認できます。
image.png

デプロイされたコントラクトを開き、先程作った関数に対応しているhelloWorldのボタンを押下すると、関数の返り値としてstring型のHello, World!が返却されたことが確認できます(GUIベースでコントラクトの検証ができるのも便利です)。
image.png

このように、Remix IDEを使って簡単にSolidityでHello, Worldを表示することに成功しました。

もう少しスマートコントラクトらしさを体感する。

もう少し深くSolidityに学びたい場合、CryptoZombiesに触れてみるのがおすすめです。ステップを踏みながらスマートコントラクトの開発について理解を深めることができます。

さいごに

今回は誰もがブロックチェーンエンジニアになる第一歩として、環境構築なしでスマートコントラクトを開発する方法をご紹介しました。
ブロックチェーン技術は敷居が高いと思われがちですが、このように開発経験があれば気軽に関心を持てる部分もあります。
この記事をきっかけにブロックチェーンの技術に関して、少しでも関心を持ってくれれば幸いです。
最後まで読んだいただき、ありがとうございました。

参考

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?