『DApps開発入門』という本

# はじめに

初めまして。
スマートコントラクトやDAppsの開発をしている **cardene（かるでね）** です！
2025年2月11日に発売される以下の「DApps開発入門」という本を書いたりもしています。

https://amzn.asia/d/doJBhlH

今回の記事では、この「DApps開発入門」という本について紹介していきます。

以下でも情報発信しているので、興味ある記事があればぜひ読んでみてください！

https://twitter.com/cardene777

https://chaldene.net/

https://qiita.com/cardene

https://cardene.substack.com/

https://mirror.xyz/0xcE77b9fCd390847627c84359fC1Bc02fC78f0e58

https://cardene.notion.site/ERC-EIP-2a03fa3ea33d43baa9ed82288f98d4a9?pvs=4

## 『DApps開発入門』とはどんな本？

まずは、「DApps開発入門」という本について執筆背景や概要、どんな人におすすめかを紹介していきます。

### 執筆背景

私は3年前くらいに「ブロックチェーン」や「NFT」、「スマートコントラクト」に興味を持ち始め、まずはスマートコントラクトの開発の代表的な言語である「Solidity」について学び始めました。

当時は書籍やUdemy、Youtube、以下のUnchainというWeb3エンジニアコミュニティが提供しているサイトなどを活用して学習をしていました。

https://www.unchain.tech/ja

:::note info
個人的には今でもこのUnchainが提供している学習サイトを推奨しています。
:::

ただ、その他の書籍やYoutubeなどではブロックチェーンやスマートコントラクトについて詳しく教えてくれるものの、その先に何をすれば良いかわからないという課題を感じていました。
もちろん基礎を理解する上では非常にお世話になった書籍や動画でしたが、実務につながる内容がまとまった書籍などがあれば非常に参考になったはずです。

そこで、たまたま書籍執筆の話が飛び込んできたので、チャンスだと思い執筆を開始しました。

### 『DApps開発入門』の概要

「DApps開発入門」は、その名の通りDAppsの開発についての基礎的な内容をまとめつつ、実務にも役立つ知見を散りばめた書籍になります。
より細かいブロックチェーンの解説というよりはDAppsの開発に焦点を当てています。

例えば、以下のような項目を取り扱っています。

- Solidityの基礎
- DApps開発における開発構成
- 実務で使用される周辺ツール
- 実務で役立つ内容のハンズオン
- DApps開発のTips

:::note info
より詳しい内容については[各章の紹介](#各章の紹介)で紹介しています。
:::

この書籍などを通じて、Solidityやスマートコントラクトの開発について学んだ後、実務にスムーズに入っていけるような内容になっているのが本書の大きな特徴です。

:::note warn
本書は説明の都合上一部紹介していない用語がいきなり出てくることがあります。
ただ、後の章でその用語の紹介が出てくるので一旦読み進めていただければと思います。
:::

### どんな人におすすめか

「DApps開発入門」は主に現在Web2と呼ばれる業界で開発をしているエンジニアの方や、これからスマートコントラクトの開発をしていきたい人を対象にしています。

- 「Web2でエンジニアをしてきて、スマートコントラクトなどにも興味を持ってきた」
- 「DAppsの開発をしてみたい」
- 「DApps開発の実務でも役立つ知見を知りたい」

このような人には特におすすめの書籍になっています。

## 各章の紹介

この章では、本書の各章について簡単に紹介をしていきます。
章としては以下のようになっています。

- 1章 ブロックチェーンの概要
- 2章 NFTの概要
- 3章 NFTの規格
- 4章 DAppsの概要
- 5章 スマートコントラクトの概要
- 6章 Solidityの概要
- 7章 DApps開発ハンズオン
- 8章 DAppsで使用されているさまざまな技術

### 1章 ブロックチェーンの概要

この章ではブロックチェーンについて簡単に説明をしています。
DAppsの開発をする上で切っても切り離せないのがブロックチェーンになります。
ただ、細かい解説は別の書籍や動画などに託して、本書ではできる限り簡潔にブロックチェーンがどういうものかということを紹介しています。

また、本書ではブロックチェーンをDBと比較しながら紹介しているため、他の書籍とは一味違った内容になっています。
ブロックチェーンとはどういったものかを詳しく解説している、他の書籍とぜひ併せて読んでいただくことで理解が深まるはずです。

:::note warn
何かを学習する上で1冊で全てを理解するということは難しく、何冊かの書籍や複数の動画から学ぶことが多いはずです。
その中で、本書はより「開発」という部分に焦点を当てているため、他の書籍と合わせて読んでいただくことを推奨しています。
:::

### 2章 NFTの概要

DAppsやスマートコントラクトと密接に結びついているものとして「NFT」があります。
実務において、NFTを絡めたDAppsの開発案件は非常に多いです。
そのため、本書ではNFTの理解と開発ができるようになることも目指しています。

:::note info
本書のハンズオンでも「NFTのMintサイト」を取り上げています。
:::

### 3章 NFTの規格

NFTにも様々な規格があります。
規格とは設計図のようなものであり、様々な作りのNFTが存在します。
この章では、このNFTの規格について代表的なものを簡単に紹介しています。
Ethereumにおいて、NFTなどの規格がまとめられたものを「[EIP（Ethereum Improvement Proposals）](https://github.com/ethereum/EIPs)」と呼びます。

:::note warn
NFTに限らず、Ethereumへの様々な改善提案がまとめられています。
:::

参考: [イーサリアム改善提案(EIP)入門](https://ethereum.org/ja/eips/)

筆者はこのEIPについての日本語記事を250以上まとめているので、何か規格を調べたいときはぜひ活用してください。

https://cardene.notion.site/EIP-2a03fa3ea33d43baa9ed82288f98d4a9?pvs=4

### 4章 DAppsの概要

前章まででDApps開発についての前提を理解できたので、この章ではDAppsについて紹介しています。
DApps開発に必要なツールやDAppsの開発手順、Tipsなどのついてまとめています。

以下の勉強会で使用した内容をより詳しくまとめています。
こちらの資料も併せてみていただくとより理解がしやすいと思います。

https://www.canva.com/design/DAGDIdAPfbs/ggKrS0EIcVlu_nM3Sf-u9A/view?utm_content=DAGDIdAPfbs&utm_campaign=designshare&utm_medium=link2&utm_source=uniquelinks&utlId=hd6b3a33ed1

### 5章 スマートコントラクトの概要

DAppsについて紹介したところで、次にスマートコントラクトについて簡単に紹介しています。
スマートコントラクトのアップグレードについても取り上げているため、この章でその仕組みが理解できるようになっています。

:::note info
ハンズオンでも「スマートコントラクトのアップグレード」について取り上げています。
:::

### 6章 Solidityの概要

この章ではSolidityというプログラミング言語についてまとめています。
Solidityはスマートコントラクトの開発をするための代表的な言語です。
できる限りわかりやすくまとめたので、一通りSolidityの基礎については理解できるようになっています。

### 7章 DApps開発ハンズオン

本書では5のハンズオンを取り扱っています。
その中の以下の3つのハンズオンがこの章で取り上げられています。

- NFT Mintサイトの作成
- Meta Transaction
- Upgradeable

どれも実務で役立つ内容になっているため、ぜひ手を動かして理解していただきたいです。

残りの以下の2つのハンズオンについては、書籍の都合上別冊としてPDFで用意しています。

- NFT Marketplace
- MultiSig Wallet

こちらも理解しておくと実務でも役立つ内容になっているため、ぜひ手を動かしてみてください。

また、本書のハンズオンでは３種類のツールを使用してスマートコントラクトの開発を行っています。
ハンズオンごとに3種類のうち1つを使用しているため、様々な開発ツールに触れることができます。
数年すると開発ツールが廃れてしまう可能性があるため、本書では3種類のツールを使用して長く活用される書籍にしたいと思っています。


### 8章 DAppsで使用されているさまざまな技術

最後の章では、応用も含めた以下の2つを取り上げています。

- Account Abstraction
- Bridge

どちらも非常に興味深い分野であるため、DAppsやスマートコントラクトの開発の理解が深まるにつれて興味が深まっていくはずです。
ぜひこの章でその概要を理解してください。

## 最後に

この記事では「DApps開発入門」という本について紹介してきました。
そこまで長い記事ではないので、サクッと内容をお伝えできたかなと思います。
少しでも興味を持っていただき本書を手に取っていただけると幸いです。

質問などがある方は以下のTwitterのDMなどからお気軽に質問してください！

[Twitter @cardene777](https://twitter.com/cardene777)

他の媒体でも情報発信しているのでぜひ他も見ていってください！

https://chaldene.net/

https://zenn.dev/heku

https://cardene.substack.com/

https://mirror.xyz/0xcE77b9fCd390847627c84359fC1Bc02fC78f0e58

https://cardene.notion.site/ERC-EIP-2a03fa3ea33d43baa9ed82288f98d4a9?pvs=4