Remixとbrowser-solidityの使い方
Remix:browser-solidityはEthereum(イーサリアム)の独自トークンやスマートコントラクトを開発するためのシステムです。
コードの編集からブロックチェーンへのデプロイ(発行)ができる優れた統合開発環境です。プログラマーだけでなく、初心者の方でも簡単に使えるため人気があります。
使用するには2種類の方法があります。どちらも同じように使用できます。
- インターネットブラウザーでの開発環境を使用する
- PCにインストールしてローカル環境で構築する
インターネットブラウザでは、インストールの必要もありません。通常はこちらがお勧めです。
RemixではSolidityと呼ばれる言語を使用します。スマートコントラクトで最も利用される言語であり、JavaScriptに近い静的な言語です。
この記事ではRemix:browser-solidityの使い方を詳しく解説します。
Remixの使い方
Remixを使うには「Remix – Solidity IDE」にアクセスします。
インストールして使う場合は以下のURLからダウンロードしてください。
画面が表示されるとサンプル用のコードが記述されています。
コードの内容は選挙投票用のスマートコントラクトです。
新規ファイル
サンプルコードを削除して、新しいコード内容を書いていきます。
もしくは、左上の「+」ボタンをクリックして、新規作成でファイル名を記述します。これで新しいファイルを作成できます。
コードの更新
コードを記述したら内容を更新するために「Start to compile」をクリックします。
「Auto compile」にチェックを入れると自動で更新してくれます。但し、頻繁に自動更新されるため読み込みの待ち時間も発生します。
警告やエラー
コードのWarning(警告)やError(エラー)が表示される部分です。
Warningは黄色く表示されますが、そのままでもデプロイ(発行)は可能です。必要に応じてコードを修正してください。
エラーは赤く表示されて、コードを修正する必要があります。このままではデプロイはできません。
左上の各種ボタン
- 新規ファイル作成ボタン
- フォルダを開くボタン
- Githubと接続してコードを公開するボタン
- 公開したGithubのコードを更新するボタン
- 一括でファイルを保存するボタン
- ローカルホストに接続するボタン
各種設定
右上の項目をクリックして、各種設定を行います。
Compile
コードを編集するための画面です。
Run
作成したコードをデプロイ(発行)するための画面です。
Environment
開発環境を選択します。
JavaScript VM
ローカルなプライベート環境です。ブロックチェーン上にデプロイ(発行)されない、プライベートな開発環境です。
Injected Web3
METAMASK(メタマスク)と接続します。
本番のパブリックブロックチェーンやテストネットブロックチェーンにデプロイ(発行)できます。
Etherscanにトランザクションが記載されて、独自トークンやスマートコントラクトが発行されます。
なお、パブリックチェーンにデプロイするには本物のETH手数料が必要です。十分にテストチェーンで開発をテストしてから使いましょう。
テストネットワークの使い方は関連記事を参考にしてください。
関連記事:Ropstenテストネットワークの使い方
Web3 Provhder
Gethというプライベートネットで動く、ローカル環境と接続します。
Gethについては関連記事を参考にしてください。
Account
接続するアカウントを選択します。
トークンやスマートコントラクトをデプロイするにはEthereumの手数料が掛かります。
そのためにはアカウントにはEthereumの保有が必要です。
Gas limit
ETHのガスリミットを設定します。初期設定では3000000です。
特別な理由がない限り変更しないことをお勧めします。
Value
ETHのガス価格を設定します。
通常は初期設定のままにしてください。デプロイ時に自動で適性価格が算出されます。
不用意に低く設定し直すと、トランザクションが手詰まりを起こしたり失敗する原因になります。
Deploy
作成したコードをデプロイ(発行)するためのボタンです。
At Address
エディタにデプロイされたトークンやスマートコントラクトのコードを貼り付けて、At Addressにコントラクトアドレスを入力して「At Address」をクリックします。
トークンやスマートコントラクトの各種設定項目や情報が一覧で表示されます。
settings
一般設定やバージョンを切り替えます。
Solidity version
browser-solidityのバージョンを切り替えることができます。基本的には安定板のcommitのみを選択します。nightlyは開発段階であり不安定です。
なお、適切なバージョンはコードの冒頭に記載されています。
例えば、「pragma solidity ^0.4.18;」であれば、バージョンは^0.4.18にするか0.4.18以上0.5未満にします。
General settings
各種設定項目です。
- 常にEthereum VMを使用する
- テキストの折り返し
- 最適化を有効にする
- パーソナルモードを有効にする
この中で重要となるのがコードの最適化項目です。項目にチェックを入れるとコードを最適化してくれます。何も変化がないこともあれば、最適化によって良くなる場合もあります。
なお、最適化によりバグが発生することもあるのでコードのどの部分が変わったか、チェックやテストネットを利用してエラーがないか確かめましょう。
まとめ
Ethereumのトークンやスマートコントラクトを開発するのであれば、Remixは必須のシステムです。
この記事では基本的な項目部分に限って説明をしました。他にも設定項目がありますが、通常であれば必要ない部分もあるため説明を割合しています。
なお、Remixは頻繁にデザインや項目が変わっていきます。大体、半年もすると項目の名前や機能が一新されていることもあるので、この記事は現時点での参考としてください。