
【前編】Ethereum Pet ShopでDAppを作成してみた!~環境構築編~
2020.08.14
~前編~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 2 | $brew install npm $npm install solc |
Mac の場合
Mac の場合は、Homebrew をインストールしてから、npm をインストールします。
Geth のインストール
続いて、Geth をインストールします。
gmp と go をインストール
1 2 | $git clone https://github.com/ethereum/go-ethereum $brew install gmp go |
Geth コマンドラインクライアントをビルド
Geth フォルダーを作成します。
1 2 3 | $cd go-ethereum $make geth $build/bin/geth |
Truffle Suite をインストール
1 2 | $npm install -g truffle $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 2 3 4 5 6 7 | ||-TrufflePRJ |-contract |-Migrations.sol |-migrations |-1_initial_migration.js |-test |-truffle-config.js |
これで準備完了しました!
おすすめの本
中編へ続く
中編では、実際にコントラクトを作成していきたいと思います!
お楽しみに!
(株)ライトコードは、WEB・アプリ・ゲーム開発に強い、「好きを仕事にするエンジニア集団」です。
ブロックチェーンでのシステム開発依頼・お見積もりはこちらまでお願いします。
また、ブロックチェーンエンジニアを積極採用中です!詳しくはこちらをご覧ください。
※現在、多数のお問合せを頂いており、返信に、多少お時間を頂く場合がございます。
こちらの記事もオススメ!
中編はこちら
ライトコードよりお知らせ






一緒に働いてくれる仲間を募集しております!
ライトコードでは、仲間を募集しております!
当社のモットーは「好きなことを仕事にするエンジニア集団」「エンジニアによるエンジニアのための会社」。エンジニアであるあなたの「やってみたいこと」を全力で応援する会社です。
また、ライトコードは現在、急成長中!だからこそ、あなたにお任せしたいやりがいのあるお仕事は沢山あります。「コアメンバー」として活躍してくれる、あなたからのご応募をお待ちしております!
なお、ご応募の前に、「話しだけ聞いてみたい」「社内の雰囲気を知りたい」という方はこちらをご覧ください。
ライトコードでは一緒に働いていただける方を募集しております!
採用情報はこちら書いた人はこんな人

IT技術2021.01.11React Hooks登場でコンポーネントはどう変わった?
IT技術2021.01.05【Unity】Rigidbodyの基本
IT技術2021.01.04【Unity】ARkit3を使ったARアプリを開発する方法を解説(AR foundation,iOS)
IT技術2020.12.29【機械学習】単純なアルゴリズムで迷惑メールを分類してみた