Ethereumでスマートコントラクトを開発する場合、何を準備して開発すればいいのだろうか。本稿では、コンパイラ兼統合開発環境である「Remix」をサンプルコードと一緒に紹介する。
「スマートコントラクト」は、ブロックチェーン技術を活用したアプリケーションプラットフォームの中で、契約の条件確認や履行などを自動で行うことから、研究開発が進み、注目されている技術です。
本連載では、スマートコントラクトの概念や仕組みを整理しつつ、DApps(Decentralized Applications:分散ノード上で実行されるアプリケーション)でのスマートコントラクトのコーディング方法、企業向けアプリケーション開発の実践方法について解説していきます。今回はEthereumをベースに、スマートコントラクトコードのコーディングについて説明します。
Ethereumのスマートコントラクトコードを初めて書くのであれば、コーディングとコンパイル、デプロイを手軽に始められる「Remix」を使うことをお薦めします。Remixは「Browser Solidity」という名称でも知られています。
Remixは、Solidity(Ethereumのスマートコントラクト開発言語)のコンパイラ兼統合開発環境です。オープンソースとして開発されており、ソースコードはGitHubで取得できます。また、最新版を公式サイト上で利用することもできます。今回は、お手軽にスマートコントラクトの開発を体感できる、公式サイト上のRemixを使ったオンライン開発について解説します。
Remixの画面構成は3つの領域に分かれています(画面1)。左から、ファイル操作、コーディング、コンパイル/デプロイ/テストです。メインの作業となるコーディングは、中央の広いスペースで実施しますが、その前後の作業は左右の領域で作業することになります。それでは、作業の流れを順に説明します。
「+」ボタンを押下すると、新しいファイルを作成できます(画面2)。
ファイル名をクリックすると、任意のファイル名に変更できます(画面3)。Solidityでは、ファイルの拡張子を「.sol」にします。
コーディングは中央の領域(下図の緑枠内)で行います(画面4)。
それでは、実際にコーディングしてみましょう。下記の足し算のサンプルコードを中央の領域に貼り付けてください。なおサンプルコードの解説は、コメント形式でコード内に記載しています。
pragma solidity ^0.4.9; //Solidityコンパイラのバージョンを指定しています contract Verysimple { //コントラクト名は「ベリーシンプル」 uint intNumber ; //整数型の変数「intNumber」を宣言しています //各コントラクトにはファンクションを実装します。 //このファンクションでは引数として与えられた数値を変数「intNumber」に加算し、その結果を返します function just_plus(uint _number)returns(uint _intNumber) { intNumber += _number; return intNumber; } }
Copyright © ITmedia, Inc. All Rights Reserved.