【Ethereum】はじめてのSolidity
Ethereum上でSmart Contractsを実行するために、Smart Contracts用のプログラミング言語の一つである『Solidity』について触れてみたいと思います。
Ethereum Virtual Machine
Ethereumは、『Ethereum Virtual Machine』と呼ばれるプログラム実行環境を持っており、専用のバイトコードを実行します。このバイトコードは人にとって可読性が高いものではないため、一般的には『[Solidity』などの高級言語で書かれたプログラミングをコンパイルして、バイトコードへ変換した上で実行します。
もしプログラミングの経験がある方でしたら、Java言語で書かれたプログラムをコンパイルして、Java Virtual Machine上で実行することと同様と考えればよいでしょう。
Remix
Solidityでプログラムを書いて、コンパイルして、Ethereumへ配備するという一連の作業を行うのに便利な統合開発環境として『Remix』というWebアプリケーションがあります。本記事でも、Remixを使用して解説してきます。
1. Webサイトへのアクセス
以下のWebサイトへアクセスします。
https://remix.ethereum.org
2. ソースファイル作成
画面左上のをクリックして、新しいソースファイルを作成します。
本記事では『hello.sol』というファイル名としました。
まずは、簡単なサンプルプログラムを書いてみましょう。
「Hello, world」と返すだけのプログラムです。
pragma solidity ^0.6.6; contract HelloWorld { function speak() public pure returns (string memory) { return 'Hello, world'; } }
3. コンパイル
画面左側のアイコンをクリックすると左ペインに[SOLIDITY COMPILER]が表示されます。
[Compile hello.sol]ボタンをクリックしてコンパイルしてください。
4. 配備
画面左側のアイコンをクリックすると左ペインに[DEPLOY & RUN TRANSACTIONS]が表示されます。
まずは、実際のEthereumブロックチェーン上ではなく、ブラウザ内の仮想環境上で動作確認してみたいと思いますので、ENVIRONMENTが[JavaScript VM]であることを確認して、[Deploy]をクリックして下さい。
配備が完了すると、[Deployed Contracts]にエントリーが追加されます。
5. 実行
[Deployed Contracts]のエントリーのをクリックすると、以下のようにプログラム中の関数名に対応するボタン(本例では[speak]ボタン)が表示されます。
[speak]ボタンをクリックすると、プログラムが実行され、[speak]ボタンの下に実行結果が表示されます。