はじめに
先日、数人のメンバーとEthereum開発の有償ハンズオンに参加しました。
ハンズオンではEthereumのウォレットを作成し、開発用のEtherを取得し、オリジナル仮想通貨を実装・デプロイし、購入するところまでを行いました。
体験した内容を簡単に紹介します。
開発の流れ
開発の流れは下記のとおりです。
- ウォレットの作成と開発用Etherの取得
- 開発環境の構築
- 仮想通貨の実装とデプロイ
ウォレットの作成
MetaMaskをインストールしてウォレットを作成します。MetaMaskはウォレットを管理するブラウザ拡張でChromeとFirefoxに対応しています。
ウォレットを作成したらアカウントを2つ作り、それぞれのアカウントで開発用のEtherを取得(マイニング)します。
開発環境の構築
開発はVagrant上のUbuntuで行いました。
開発環境を構築する前にInfra.ioに登録します。Infra.ioはEthereumノードのホスティングサービスです。参考:Ethereumホスティングサービス「Infura」の使い方とは?
次にUbuntu上でTruffleをインストールします。Truffleは開発、テスト、デプロイなどに対応するツール群です。参考:Truffle導入のススメ
続いて、web3.jsをインストールします。web3.jsはローカルまたはリモートのイーサリアムノードとやり取りできるJavaScriptライブラリです。参考:Ethereum入門 〜web3.jsを使ってgethの機能を呼び出す〜
最後に、Zeppelin Solidityをインストールします。これは、Solidityという言語でEthereumのコントラクトの実装を補助するライブラリです。
仮想通貨の実装とデプロイ
まず、コンソール上で
truffle init
を実行し、必要なディレクトリやファイルを作成します。
次に、truffle.jsを編集してInfra.ioへの接続を設定します。
続いて、contacts/に[トークン名].solという名前のファイルを作成し、仮想通貨の処理を実装します。
仮想通貨の実装が終わったら、migrations/にデプロイ用のスクリプトを実装します。
実装が終わったら、TruffleのコンソールからRopstenにデプロイします。
オリジナル仮想通貨の購入
1つ目のアカウントにトークンを追加します(アドレスはデプロイ時に表示された文字列です)すると、設定した量の仮想通貨が振り込まれます。
次に、2つ目のアカウントからEtherを送金してトークンを取得します(送金アドレスはデプロイ時に表示された文字列です)SUBMITしてしばらくすると2つ目のアカウントのEtherが引かれて、実装したトークンが振り込まれます。
さいごに
今回のハンズオンでEthereumでのスマートコントラクトの(シンプルな)実装の流れがなんとなく掴めましたし、やってみて楽しかったです。
ブロックチェーンに関しては個人的に勉強したり、今後も勉強会に参加したり、意識していこうと思います。