試験公開中

このエントリーをはてなブックマークに追加

エンジニアのためのWeb3開発入門 イーサリアム・NFT・DAOによるブロックチェーンWebアプリ開発

インプレス

3,300円 (3,000円+税)

イーサリアム・NFT(非代替性トークン)・DAO(自律分散型組織)によるブロックチェーンWebアプリ開発の入門書です。本書では、知識ゼロからNFTやDAOを活用したWeb3アプリを構築できるよう、開発者目線で必要な知識を選り抜いて解説しています。

【注意】本書のEPUB版は固定レイアウト型になっております。文字の大きさの変更や検索、引用などはお使いいただけません。画面の大きい端末でご利用ください。

関連サイト

本書の関連ページが用意されています。

内容紹介

●これ1冊でWeb3アプリ開発に必要な知識が学べる!

本書は、イーサリアム・NFT(非代替性トークン)・DAO(自律分散型組織)によるブロックチェーンWebアプリ開発の入門書です。

Web3の理解が難しいとされる一因は、必要な技術領域が多岐にわたることです。たとえば、ブロックチェーンの理解だけではWeb3アプリを作成できません。従来のWebシステム全般の知識、ブロックチェーンとの接続方法、ウォレットの扱い方、Web3ビジネスの知識など、周辺の知識とスキルが必要となります。

そこで本書では、知識ゼロからNFTやDAOを活用したWeb3アプリを構築できるよう、開発者目線で必要な知識を選り抜いて解説しています。Web3の概要、要素技術の解説から、イーサリアムを利用したサンプルアプリやNFTマーケットプレイス、DAOの開発・実装方法、ブロックチェーンネットワークの作り方やノードプロバイダーとの接続方法まで、これ1冊でWeb3アプリ開発に必要な知識を包括的に学べるようにしています。

Web3の要素技術を学びたい方、Web3を活用したサービス・アプリケーション開発に興味がある方にお勧めの1冊です。

書誌情報

  • 著者: 愛敬 真生, 小泉 信也, 染谷 直希
  • 発行日: (紙書籍版発行日: 2024-03-01)
  • 最終更新日: 2024-03-01
  • バージョン: 1.0.0
  • ページ数: 336ページ(PDF版換算)
  • 対応フォーマット: PDF, EPUB
  • 出版社: インプレス

対象読者

Web3に興味のあるエンジニア(新人~中堅)・ブロックチェーンに興味があるが忙しくて手が出せていないSE・○情報系の学生(大学・高専・専門学校)

著者について

愛敬 真生

デロイト トーマツ コンサルティング合同会社/デロイト トーマツ ノード合同会社 シニア・スペシャリスト・リード
建築系・金融系のシステム開発を経て2015年からブロックチェーン開発に従事。ブロックチェーンを活用した貿易業務システムのPoC・開発やNFTマーケットプレイスの開発などを担当。著作に『ブロックチェーン仕組みと理論』(リックテレコム刊)、『個人投資家のためのFinTechプログラミング』(日経BP刊)(いずれも共著)がある。本書の第1 ~ 3章、Appendixの執筆を担当。

小泉 信也

デロイト トーマツ コンサルティング合同会社/デロイト トーマツ ノード合同会社 スタジオ・シニア・リード
ネットワーク基盤、クラウド基盤開発業務を経て、Webアプリケーション開発、生成AIアプリケーション開発、ブロックチェーン開発に従事。ブロックチェーンアプリケーションのプロトタイプ開発や、NFTマーケットプレイスの開発、新人向けブロックチェーン講座講師など担当。本書の第6 ~ 7章の執筆を担当。

染谷 直希

デロイト トーマツ コンサルティング合同会社/デロイト トーマツ ノード合同会社スタジオ・シニア・リード
データベースやDBaaSなどの開発を経て、Blockchain as a Serviceの開発に従事。保険業務におけるブロックチェーン適用のPoCなどを実施。現在はNFTマーケットプレイスの開発などを担当。本書の第4 ~ 5章の執筆を担当。

目次

はじめに

Contents

第1章 Web3による社会変革

  • 1.1 Web3とはなにか?
  • 1.1.1 Webの歴史
  • 1.1.2 Web3の変化
  • 1.2 Web3のサービス
  • 1.2.1 DeFi
  • 1.2.2 NFT(非代替性トークン:Non-Fungible Token)
  • 1.2.3 DAO
  • 1.2.4 DID/SSI
  • 1.3 Web3が実現する社会
  • 1.3.1 Web3のエコシステム
  • 1.4 NFT/DAOの動向
  • 1.4.1 NFT/DAOの市場サービス・事例

第2章 Web3のアーキテクチャと構成要素

  • 2.1 Web3アプリケーションのアーキテクチャ
  • 2.1.1 Web2.0とWeb3のアーキテクチャの違い
  • 2.2 Web3アーキテクチャの構成要素
  • 2.3 ブロックチェーンとWebアプリケーションの接続
  • 2.4 Web3アーキテクチャの処理の流れ
  • 2.5 ブロックチェーン
  • 2.5.1 ブロックチェーンとビットコイン
  • 2.5.2 ブロックチェーンの革新性
  • 2.5.3 ブロックチェーンが実現する信頼の仕組み
  • 2.5.4 ビットコインの課題
  • 2.6 暗号資産・トークン
  • 2.7 スマートコントラクト
  • 2.7.1 スマートコントラクトの動き
  • 2.7.2 スマートコントラクトの概念
  • 2.8 ウォレット
  • 2.8.1 ウォレットとは
  • 2.8.2 ウォレットの種類
  • 2.9 パブリックとプライベートについて
  • 2.10 オンチェーンとオフチェーン・
  • 2.10.1 分散ストレージの利用(IPFSとSwarm)
  • 2.10.2 プライバシー
  • 2.10.3 パフォーマンス
  • 2.11 Web3アプリケーションを開発するうえでのベストプラクティス
  • 2.11.1 ユーザーエクスペリエンス
  • 2.11.2 セキュリティ

第3章 イーサリアム開発入門

  • 3.1 イーサリアム概要
  • 3.1.1 ビットコインから生まれた分散型アプリケーション・プラットフォーム
  • 3.2 イーサリアムの仕組み
  • 3.2.1 アカウント
  • 3.2.2 スマートコントラクトとEVM
  • 3.2.3 オラクル
  • 3.2.4 ガス ~送金やスマートコントラクト実行の燃料~
  • 3.3 コンセンサスアルゴリズム
  • 3.3.1 PoS
  • 3.3.2 シャーディング
  • 3.4 今後の開発ロードマップ
  • 3.5 EVM互換のブロックチェーン
  • 3.6 イーサリアムの標準規格(EIP/ERC)
  • 3.6.1 EIP(Ethereum Improvement Proposals)
  • 3.6.2 ERC(Ethereum Request for Comments)
  • 3.7 事前準備(ツールの整備やEtherの入手)
  • 3.7.1 Webアプリケーション開発の必要条件
  • 3.7.2 スマートコントラクト開発の必要条件
  • 3.8 Visual Studio Codeのインストール
  • 3.8.1 Japanese Language Packのインストール
  • 3.8.2 Solidityのインストール
  • 3.8.3 ESLintのインストール
  • 3.9 インデントの設定
  • 3.10 Gitのインストール
  • 3.11 Node.jsのインストール
  • 3.11.1 NVMのインストール
  • 3.12 SolidityとOpenZeppelinによるスマートコントラクト開発
  • 3.12.1 Solidity概要
  • 3.12.2 OpenZeppelin概要
  • 3.12.3 スマートコントラクト開発の手順
  • 3.12.4 Hardhatを用いた開発・テスト ~Hardhat概要~
  • 3.13 Hardhatによるスマートコントラクト開発
  • 3.13.1 プロジェクトの作成
  • 3.13.2 スマートコントラクトの作成
  • 3.13.3 スマートコントラクトのテスト
  • 3.13.4 ブロックチェーンネットワークへのデプロイ
  • 3.13.5 スマートコントラクトのデプロイ
  • 3.14 フロントエンドの作成
  • 3.14.1 フロントエンドプロジェクトの作成
  • 3.15 MetaMaskのインストールと設定
  • 3.16 アカウントのインポート
  • 3.17 アプリケーションの実行
  • 3.18 OpenZeppelinによる開発
  • COLUMN Hardhatのトラブルシューティング

第4章 NFT開発入門

  • 4.1 NFTとは
  • 4.2 NFTの配布パターンについて
  • 4.3 NFTの標準規格
  • 4.4 NFTマーケットプレイスの業界標準
  • 4.4.1 マーケットプレイスコントラクトの概観
  • 4.4.2 Wyvern Protocol
  • COLUMN NFTマーケットプレイスにおける「分散」について
  • 4.4.3 Seaport Protocol

第5章 NFTマーケットプレイス開発

  • 5.1 NFTマーケットプレイスの全体設計
  • 5.2 NFTマーケットプレイス開発の流れ
  • 5.3 NFTコントラクトの作成
  • 5.4 アプリケーションへのNFT関連機能の追加
  • 5.4.1 アプリケーションメニューの作成
  • 5.4.2 NFT作成機能の追加
  • COLUMN TypeChainとTypeScript
  • 5.4.3 所有NFT一覧の追加
  • 5.5 マーケットプレイスコントラクトの作成
  • 5.6 NFT出品、購入機能の作成
  • 5.6.1 NFT売り注文生成機能の追加
  • 5.6.2 マーケットプレイス出品機能の追加
  • 5.6.3 マーケットプレイス購入機能の追加
  • 5.7 NFTとクリエイターのロイヤリティ
  • 5.8 NFTとNFTマーケットプレイスにおける注意点

第6章 DAO開発入門

  • 6.1 DAOの全体像
  • 6.1.1 DAOの概要
  • 6.1.2 DAOの設計原則
  • 6.1.3 DAOの主要な技術要素
  • 6.2 DAOに関する規格、動向
  • 6.2.1 DAOに関する規格、標準実装
  • 6.2.2 OpenZeppelinによる投票機能の標準実装
  • 6.2.3 その他のDAOに関係する規格
  • 6.3 ガバナンストークンと投票機能
  • 6.3.1 OpenZeppelinによる投票システム
  • 6.3.2 投票システムを設計および実装する際の重要な要素
  • 6.3.3 ガバナンストークン
  • 6.3.4 投票ポリシー
  • 6.3.5 セキュリティ

第7章 DAOシステム開発

  • 7.1 DAOの全体設計
  • 7.1.1 DAO開発プロセスの概要
  • 7.1.2 DAOの全体システム構成 ~アーキテクチャの構成~
  • 7.2 DAO開発に向けた設計
  • 7.2.1 背景や目的
  • 7.2.2 インセンティブ設計
  • 7.2.3 必要な機能の整理
  • 7.2.4 ガバナンスモデル設計
  • 7.2.5 ガバナンスモデル拡張設計
  • 7.2.6 投票シーケンス
  • 7.2.7 アプリケーションレイヤ設計
  • 7.3 DAO開発
  • 7.3.1 DAOの開発の流れ
  • 7.3.2 スマートコントラクトの実装
  • 7.3.3 作成したコアガバナンス機能のテストとデプロイ
  • 7.3.4 Webアプリケーションの実装
  • 7.4 DAO Operation Toolの紹介
  • 7.4.1 DAOの種類
  • 7.4.2 Aragon概要
  • 7.5 DAOシステム開発のポイントと注意事項
  • 7.5.1 DAOの法律上での不確かさ

おわりに

Appendix

  • A1 ブロックチェーンネットワークの構築・テスト
  • A1.1 ローカル環境にイーサリアムネットワークを構築する
  • A1.2 ノードプロバイダーを経由してテストネット(またはメインネット)に接続する

INDEX

Home 書籍一覧 エンジニアのためのWeb3開発入門 イーサリアム・NFT・DAOによるブロックチェーンWebアプリ開発 ▲ ページトップへ戻る