【前編】Ethereum Pet ShopでDAppを作成してみた!~環境構築編~
IT技術
~前編~Ethereum Pet ShopでDApp作成とテスト
今回は、「Ethereum Pet Shopを使って DAppの作成からテスト」まで行ってみたいと思います!
作成工程
- 環境設定
- Truffle Box を使って Truffle プロジェクトを作成
- コントラクト作成
- コントラクトをコンパイルしてデプロイ
- コントラクトのテスト
- UI 作成
- ブラウザ上の DApp でログインする
Ethereum Pet Shop とは?
まずは、「そもそも Ethereum って何?」というところから解説しましょう。
仮想通貨で聞いたことがある人もいるかと思いますが…
「Ethereum(イーサリアム)」は、「分散型アプリケーション(DApp)」を構築するためのプラットフォームです。
P2P のネットワーク上で、ブロックチェーンに DApp を記述して実行します。
Ethereum Virtual Machine 上で動作する言語は、「Solidity」と「Vyper」です。
Ethereum で何ができるの?
Ethereum の主な特徴には、以下のようなものがあります。
- スマートコントラクトが実装できる
- 仮想通貨「Ether」の送受金・採掘報酬の受け取り・決済が可能
- オープンソースプロジェクト
Ethereum Pet Shop とは?
「Ethereum Pet Shop」は、認証に Ether アドレスを使って、直接ペットを受け入れできるオンラインショップです。
決済が簡単に出来るほか、ブロックチェーンに記録していくことで、ペット購入の正当性が保証できます。
今回は、このインターネットペットショップの DApp を作っていきます。
使用するフレームワークは「Truffle」、言語は「Solidity」です。
環境設定
それでは、環境を構築していきたいと思います。
あと、Node.js は予めインストールしておいてください。
Solidity をインストール
その後、Solidity をインストールします。
1$brew install npm
2$npm install solc
Mac の場合
Mac の場合は、Homebrew をインストールしてから、npm をインストールします。
Geth のインストール
続いて、Geth をインストールします。
gmp と go をインストール
1$git clone https://github.com/ethereum/go-ethereum
2$brew install gmp go
Geth コマンドラインクライアントをビルド
Geth フォルダーを作成します。
1$cd go-ethereum
2$make geth
3$build/bin/geth
Truffle Suite をインストール
1$npm install -g truffle
2$npx truffle version
Ganache のインストール
「Ganache」は、Ethereum 開発のプライベートブロックチェーンです。
「コントラクトのデプロイ」「アプリ開発」「テスト実行」ができます。
以下のリンクからインストーラを取得し、実行してください。
【Ganache】
https://www.trufflesuite.com/ganache
PetShop のインストール
まず、プロジェクトフォルダーを作成します。
1$mkdir pet-shop-tutorial
プロジェクトフォルダーに移動します。
1$cd pet-shop-tutorial
PetShop のインストール
1$npx truffle@5.0.0 unbox pet-shop
npm のインストール後、Truffle に PATH が通らない場合は、以下のようにコマンドを記載します。
1$source ~/.bash_profile
ディレクトリ構成
PetShop Truffle Box 解凍後は、以下のようなファイル構成になっているはずです。
1||-TrufflePRJ
2 |-contract
3 |-Migrations.sol
4 |-migrations
5 |-1_initial_migration.js
6 |-test
7 |-truffle-config.js
これで準備完了しました!
おすすめの本
中編へ続く
中編では、実際にコントラクトを作成していきたいと思います!
お楽しみに!
こちらの記事もオススメ!
2020.08.14ブロックチェーン特集知識編ブロックチェーンとコンセンサスアルゴリズム実装編【Blockchain Data Managerを使ってみたEt...
2020.07.17ライトコード的「やってみた!」シリーズ「やってみた!」を集めました!(株)ライトコードが今まで作ってきた「やってみた!」記事を集めてみました!※作成日が新し...
中編はこちら
ライトコードでは、エンジニアを積極採用中!
ライトコードでは、エンジニアを積極採用しています!社長と一杯しながらお話しする機会もご用意しております。そのほかカジュアル面談等もございますので、くわしくは採用情報をご確認ください。
採用情報へ
「好きを仕事にするエンジニア集団」の(株)ライトコードです! ライトコードは、福岡、東京、大阪、名古屋の4拠点で事業展開するIT企業です。 現在は、国内を代表する大手IT企業を取引先にもち、ITシステムの受託事業が中心。 いずれも直取引で、月間PV数1億を超えるWebサービスのシステム開発・運営、インフラの構築・運用に携わっています。 システム開発依頼・お見積もり大歓迎! また、現在「WEBエンジニア」「モバイルエンジニア」「営業」「WEBデザイナー」を積極採用中です! インターンや新卒採用も行っております。 以下よりご応募をお待ちしております! https://rightcode.co.jp/recruit