• トップ
  • ブログ一覧
  • 【前編】Ethereum Pet ShopでDAppを作成してみた!~環境構築編~
  • 【前編】Ethereum Pet ShopでDAppを作成してみた!~環境構築編~

    メディアチームメディアチーム
    2020.07.24

    IT技術

    ~前編~Ethereum Pet ShopでDApp作成とテスト

    今回は、「Ethereum Pet Shopを使って DAppの作成からテスト」まで行ってみたいと思います!

    作成工程

    1. 環境設定
    2. Truffle Box を使って Truffle プロジェクトを作成
    3. コントラクト作成
    4. コントラクトをコンパイルしてデプロイ
    5. コントラクトのテスト
    6. UI 作成
    7. ブラウザ上の DApp でログインする

    Ethereum Pet Shop とは?

    まずは、「そもそも Ethereum って何?」というところから解説しましょう。

    仮想通貨で聞いたことがある人もいるかと思いますが…

    「Ethereum(イーサリアム)」は、「分散型アプリケーション(DApp)」を構築するためのプラットフォームです。

    P2P のネットワーク上で、ブロックチェーンに DApp を記述して実行します。

    Ethereum Virtual Machine 上で動作する言語は、「Solidity」と「Vyper」です。

    Ethereum で何ができるの?

    Ethereum の主な特徴には、以下のようなものがあります。

    1. スマートコントラクトが実装できる
    2. 仮想通貨「Ether」の送受金・採掘報酬の受け取り・決済が可能
    3. オープンソースプロジェクト

    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

    これで準備完了しました!

    おすすめの本

    マスタリング・イーサリアム ―スマートコントラクトとDAppの構築
    マスタリング・イーサリアム ―スマートコントラクトとDAppの構築

     

    中編へ続く

    中編では、実際にコントラクトを作成していきたいと思います!

    お楽しみに!

    こちらの記事もオススメ!

    featureImg2020.08.14ブロックチェーン特集知識編ブロックチェーンとコンセンサスアルゴリズム実装編【Blockchain Data Managerを使ってみたEt...

    featureImg2020.07.17ライトコード的「やってみた!」シリーズ「やってみた!」を集めました!(株)ライトコードが今まで作ってきた「やってみた!」記事を集めてみました!※作成日が新し...

    中編はこちら

    featureImg2020.07.28【中編】Ethereum Pet Shop DAppの作成とテスト~コントラクト作成編~~中編~Ethereum Pet ShopでDApp作成とテスト今回は、前回に引き続き、「Ethereum Pet S...

    ライトコードでは、エンジニアを積極採用中!

    ライトコードでは、エンジニアを積極採用しています!社長と一杯しながらお話しする機会もご用意しております。そのほかカジュアル面談等もございますので、くわしくは採用情報をご確認ください。

    採用情報へ

    メディアチーム
    メディアチーム
    Show more...

    おすすめ記事

    エンジニア大募集中!

    ライトコードでは、エンジニアを積極採用中です。

    特に、WEBエンジニアとモバイルエンジニアは是非ご応募お待ちしております!

    また、フリーランスエンジニア様も大募集中です。

    background