エンジニアのためのWeb3開発入門 イーサリアム・NFT・DAOによるブロックチェーンWebアプリ開発
インプレス
手を動かして学べるWeb3アプリ開発の入門書
●これ1冊でWeb3アプリ開発に必要な知識が学べる!
本書は、イーサリアム・NFT(非代替性トークン)・DAO(自律分散型組織)によるブロックチェーンWebアプリ開発の入門書です。
Web3の理解が難しいとされる一因は、必要な技術領域が多岐にわたることです。たとえば、ブロックチェーンの理解だけではWeb3アプリを作成できません。従来のWebシステム全般の知識、ブロックチェーンとの接続方法、ウォレットの扱い方、Web3ビジネスの知識など、周辺の知識とスキルが必要となります。
そこで本書では、知識ゼロからNFTやDAOを活用したWeb3アプリを構築できるよう、開発者目線で必要な知識を選り抜いて解説しています。Web3の概要、要素技術の解説から、イーサリアムを利用したサンプルアプリやNFTマーケットプレイス、DAOの開発・実装方法、ブロックチェーンネットワークの作り方やノードプロバイダーとの接続方法まで、これ1冊でWeb3アプリ開発に必要な知識を包括的に学べるようにしています。
第1章 Web3による社会変革
第2章 Web3のアーキテクチャと構成要素
第3章 イーサリアム開発入門
第4章 NFT開発入門
第5章 NFTマーケットプレイス開発
第6章 DAO開発入門
第7章 DAOシステム開発
Appendix ブロックチェーンネットワークの構築・テスト
Web3の要素技術を学びたい方、Web3を活用したサービス・アプリケーション開発に興味がある方にお勧めの1冊です。
発売日:2024-03-01
ページ数:336ページ
目次
表紙
本書情報および正誤表のWebページ|本書における注意点
はじめに
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
著者プロフィール/主要参考文献
奥付
著者プロフィール
-
愛敬 真生(著者)
●愛敬 真生(あいけい まなぶ)
デロイト トーマツ コンサルティング合同会社/デロイト トーマツ ノード合同会社
シニア・スペシャリスト・リード
建築系・金融系のシステム開発を経て2015年からブロックチェーン開発に従事。ブロックチェーンを活用した貿易業務システムのPoC・開発やNFTマーケットプレイスの開発などを担当。著作に『ブロックチェーン仕組みと理論』(リックテレコム刊)、『個人投資家のためのFinTechプログラミング』(日経BP刊)(いずれも共著)がある。
本書の第1 ~ 3章、Appendixの執筆を担当。 -
小泉 信也(著者)
●小泉 信也(こいずみ しんや)
デロイト トーマツ コンサルティング合同会社/デロイト トーマツ ノード合同会社
スタジオ・シニア・リード
ネットワーク基盤、クラウド基盤開発業務を経て、Webアプリケーション開発、生成AIアプリケーション開発、ブロックチェーン開発に従事。ブロックチェーンアプリケーションのプロトタイプ開発や、NFTマーケットプレイスの開発、新人向けブロックチェーン講座講師など担当。
本書の第6 ~ 7章の執筆を担当。 -
染谷 直希(著者)
●染谷 直希(そめや なおき)
デロイト トーマツ コンサルティング合同会社/デロイト トーマツ ノード合同会社
スタジオ・シニア・リード
データベースやDBaaSなどの開発を経て、Blockchain as a Serviceの開発に従事。保険業務におけるブロックチェーン適用のPoCなどを実施。現在はNFTマーケットプレイスの開発などを担当。
本書の第4 ~ 5章の執筆を担当。
Copyright © Mynavi Publishing Corporation