渋谷ほととぎす通信

Unity・ゲーム開発 技術で一生食べていく情報発信

【Ethereum開発】Remix IDEでSolidityを実行してみる

オオバです。
Unityでゲームを作りながら趣味でブロックチェーンの勉強をしています。

今までGeth(Goで実装されたEthereumクライアント)、
Solidity(JavaScriptのようなスマートコントラクトを記述する言語)を使って送金・採掘を実装しました。

そしてそろそろIDEで開発したくなって、前回Remix IDEをローカルに構築しました。

今回は簡単なSolidityをRemix IDE上で実行させてみたいと思います。

本記事はRemix IDEを起動できていることを前提に説明していきます。
もしまだRemix IDE環境が構築できていない方は👇の記事を参考にしてみてください。

Remix IDEの起動

前回のおさらいですが、コチラのコマンドでRemix IDEを起動します。

$ cd remix-project
$ nx serve

http://127.0.0.1:8080/にアクセス。

同梱のサンプルを開く

f:id:esakun:20210529011842p:plain

👆の通り①FILE EXPLORESからデフォルトで同梱されている、②1_Storage.solをクリックします。

ソースコード自体はとても簡単で、
以下のような処理です。

  1. 数字を入力
  2. 入力された数字を確認する

コンパイル

さきほど選択したSolidityファイル1_Storage.solをコンパイルします。

f:id:esakun:20210529012811p:plainSOLIDITY COMPILERをクリックして、②Compile 1_Storage.solをクリックします。

もしコンパイルに失敗する場合は、COMPILERのバージョンとソースコードのバージョンが対応しているか確認してみてください。

デプロイ

コンパイルが成功したデプロイです。

f:id:esakun:20210529012928p:plain

DEPLOY & RUN TRANSACIONSをクリック。
今回はJavaScript VMを使います。

JavaScript VMとはブラウザのJavaScript VM上で擬似的にスマートコントラクトを動作させます。
実際のEthereumネットワークに接続するわけではないため、手数料を取られたりしません。

「なにか挙動がおかしいな?」そういう時はChromeを使いましょう。

Deproyボタンをクリック。

これでDeployは完了。
スマートコントラクトが実行できる状態が整いました。

デプロイされたスマートコントラクトの実行

f:id:esakun:20210529013128p:plain

Deployed Contractsにデプロイされたスマートコントラクトが表示されます。

f:id:esakun:20210529013332p:plain

  • ①数字を入力
  • ②storeクリック(代入)
  • ③retrieveクリック
  • ④数字が出力される

このようにSolidityに記述された処理が実行できました。

まとめ

とても簡単なSolidityの処理をRemix IDEで実行させてみました。
やっぱりIDEで開発できると効率が上がりそうです。

ここからはしばらくRemixIDEを使った学習を進めてみたいと思います。

環境

  • macOS Catalina 10.15.7
  • npm -v 7.11.2
  • nx --version 10.0.6
  • Remix 0.12.0-dev
  • ブラウザ : Brave バージョン: 1.24.86 Chromium: 90.0.4430.212(Official Build) (x86_64)

今回はここまで。