はじめに
今回はブロックチェーンエンジニアにのはじめの一歩として、環境構築なしでSolidityでプログラミングをする開発体験をご紹介します。
Solidityは、スマートコントラクト(Ethereumにおけるブロックチェーン上で動作するプログラム)を開発するプログラミング言語です。
言語の特徴としては静的言語でC++やPython、JavaScriptを参考に作られています(公式ドキュメントより引用)。
記事執筆時点(2022/05/25)での最新バージョンが0.8.14と、まだまだ発展途上なプログラミング言語ですが、スマートコントラクトを開発する上での主要言語となるため、この記事をきっかけに少しでも知ってもらえたらと思います。
今回の開発に必要な環境
本記事の開発では、ブラウザ上で動作するRemix IDEを使用します。
ブラウザ上で動くIDEを使用するため、特別な開発環境構築の手間はありません。
Solidityを書いてみる
実際にRemix IDEを使ってSolidityで簡単なスマートコントラクトを開発してみます。
Hello, World!
まずは、Solidityを使ってHello, World!を表示してみましょう。
既存で作られているcontractsフォルダ配下に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;
}
}
書いたコードは下図左タブの赤線が引いている場所を選択し、コンパイラなどの基本設定をすることでコンパイルができます。
コンパイルが成功すると、下図の左タブのように緑のチェックマークが付きます。
コンパイルできない場合はエラーが表示されるので、エラーの表示をもとに、記述したコードにミスが無いか確認します。
コンパイル後、次は下図の左タブに移動し、実際にコンパイルしたコントラクトをデプロイしてみます。
デプロイが成功するとDeployed Contractsの下に、対象のコントラクトがデプロイされていることを確認できます。
デプロイされたコントラクトを開き、先程作った関数に対応しているhelloWorldのボタンを押下すると、関数の返り値としてstring型のHello, World!が返却されたことが確認できます(GUIベースでコントラクトの検証ができるのも便利です)。
このように、Remix IDEを使って簡単にSolidityでHello, Worldを表示することに成功しました。
もう少しスマートコントラクトらしさを体感する。
もう少し深くSolidityに学びたい場合、CryptoZombiesに触れてみるのがおすすめです。ステップを踏みながらスマートコントラクトの開発について理解を深めることができます。
さいごに
今回は誰もがブロックチェーンエンジニアになる第一歩として、環境構築なしでスマートコントラクトを開発する方法をご紹介しました。
ブロックチェーン技術は敷居が高いと思われがちですが、このように開発経験があれば気軽に関心を持てる部分もあります。
この記事をきっかけにブロックチェーンの技術に関して、少しでも関心を持ってくれれば幸いです。
最後まで読んだいただき、ありがとうございました。