本文へスキップ
BecomeCoder

Solidityコース · 第5章 発展 ― 継承・トークン・セキュリティ · レッスン24

Solidityのまとめと次の一歩 ― DAppの全体像

ローカル実施

導入

最後に、これまで学んだ点を1枚の絵につなげます。Solidity のコントラクトが、実際のアプリ(DApp = 分散型アプリ)の中でどう位置づくのかを俯瞰して、次の学習につなげましょう。

説明

DApp は「ブラウザ側(フロントエンド)」と「ブロックチェーン側(コントラクト)」でできています。

graph TB
    subgraph local["ユーザーの手元"]
        UI[Webアプリ<br/>フロントエンド]
        W[ウォレット<br/>MetaMask]
    end
    subgraph chain["ブロックチェーン"]
        C["スマートコントラクト<br/>(あなたのSolidity)"]
        L[(台帳・状態)]
        E[(イベントログ)]
    end
    UI -- 署名を依頼 --> W
    W -- トランザクション送信 --> C
    C -- 状態を更新 --> L
    C -- emit --> E
    E -- 購読して画面更新 --> UI
  • ウォレット(MetaMask など) … 秘密鍵を管理し、トランザクション署名する。msg.sender の正体はここ。
  • フロントエンド … ボタン操作をトランザクションに変えてウォレットに渡し、event を購読して表示を更新する(ethers.js / web3.js などのライブラリを使う)。
  • コントラクト … あなたが書いた Solidity。状態を持ち、ルールどおりに実行し、イベントを出す。

このコースで学んだこと――ブロックチェーンの仕組み → 型とデータ → require と送金 → トークンとセキュリティ――は、すべてこの図の「コントラクト」の中身です。

次の一歩として、こんな道があります。

  • Remix IDE でこのコースのコードを実際にデプロイして動かす。
  • OpenZeppelin の実装を読み、Ownable / ERC20 / ReentrancyGuard がどう書かれているか確かめる。
  • Hardhat / Foundry といった開発フレームワークで、テストを書きながら開発する。
  • テストネット(Sepolia など)に本物同様にデプロイしてみる。

やってみよう

まずは Remix で、レッスン6の HelloStorage やレッスン22の MiniToken を貼り付けてデプロイし、値の書き込み・読み出し・送金を自分の手で体験してみてください。ブラウザだけで、あなたのコードが「動くお金のルール」になる瞬間を味わえます。お疲れさまでした!