BOOK

「SolidityとEthereumによる実践スマートコントラクト開発」を紹介

Solidityの文法からEthereum上へのデプロイまで、スマートコントラクト開発の流れを一冊で見渡せる実践書です。

SolidityとEthereumによる実践スマートコントラクト開発の表紙
書名
SolidityとEthereumによる実践スマートコントラクト開発 ―Truffle Suiteを用いた開発の基礎からデプロイまで
テーマ
Solidity、Ethereum、スマートコントラクト、Truffle Suite
対象
ブロックチェーン開発を始めたいプログラミング経験者

スマートコントラクトを学び始めると、Solidityの文法だけでなく、Ethereumのアカウント、トランザクション、ガス、EVM、ウォレット、テストネット、デプロイといった言葉が次々に登場します。通常のWebアプリケーションのように、プログラムを実行すれば終わりというわけではありません。

『SolidityとEthereumによる実践スマートコントラクト開発』は、コントラクトを書くところから、開発ツールを使ってテストし、ネットワークへ公開するところまでを一つの流れで学びたい人に向いた書籍です。

Solidityだけを読んでも開発の全体像が見えにくい理由

SolidityはJavaScriptやC系言語に似た構文を持つため、変数、関数、条件分岐などの入り口は比較的理解しやすい言語です。しかし、コントラクトの状態はブロックチェーン上に保存され、状態を変更する呼び出しにはトランザクションとガスが必要になります。

さらに、読み取り処理と書き込み処理では費用や実行の仕組みが異なり、失敗したトランザクションの扱い、公開後にコードを変更しにくい性質、秘密鍵の管理なども考えなければなりません。文法の例を動かすだけでは、実際の開発でどの部品がつながるのかを見失いがちです。

この本で学べること

Solidityでコントラクトを記述する

状態変数、関数、修飾子、イベント、構造体、マッピングなど、スマートコントラクトを構成する要素を順番に学べます。データを保存する処理と、外部から呼び出す処理をコードで結び付けられるため、単なる文法書よりも用途を想像しやすい構成です。

EthereumとEVMを開発者の視点で理解する

コントラクトは特定のアドレスに存在するプログラムであり、ユーザーや別のコントラクトから呼び出されます。トランザクション、アカウント、ガス、ABI、コンパイル後のバイトコードなど、アプリケーションからコントラクトを利用するための基礎知識を整理できます。

Truffle Suiteで開発の流れを体験する

Truffleは、Solidityのコンパイル、コントラクトのデプロイ、テスト、ネットワーク設定をまとめて扱う開発フレームワークです。本書では、コードを一度書いて終わりにせず、プロジェクトを作り、テストし、デプロイする工程までを追える点に価値があります。

現在はTruffle Suiteの開発が終了しているため、新規プロジェクトではRemix、Hardhat、Foundryなどの現行ツールも確認してください。本書は、スマートコントラクト開発の考え方と一連の工程を学ぶ教材として活用し、コマンドや設定は現行ツールの公式ドキュメントと照合しながら進めるのがおすすめです。

テストとデプロイを経験する

ブロックチェーンへ公開した処理は、通常のアプリケーションよりも修正が難しくなります。期待する結果を自動テストで確認し、ローカル環境やテストネットで動作を確かめてからデプロイする、という慎重な流れを学べるのが本書の実践的なところです。

特に役立つと感じるポイント

  • Solidityのソースコードと、Ethereum上で動く仕組みを対応付けられる
  • コンパイル、テスト、デプロイを別々の知識ではなく一つの工程として理解できる
  • ウォレットやネットワーク設定など、コントラクト以外の準備も意識できる
  • スマートコントラクトを使ったアプリケーションの構成を考えるきっかけになる

どのような人におすすめか

  • JavaScript、PHP、Pythonなどの基本文法を学んだことがある人
  • ブロックチェーンを仕組みだけでなく、コードを書いて理解したい人
  • SolidityのサンプルをRemixや開発環境で動かしたい人
  • スマートコントラクトのテストとデプロイまで経験したい人
  • EthereumのDApp開発に必要な用語を一度整理したい人

購入前に確認したいこと

プログラミングが完全に初めての場合、SolidityとEthereumの両方を同時に学ぶため、負担が大きく感じられる可能性があります。まず変数、関数、配列、条件分岐、オブジェクト指向の基本を確認し、分からない構文を調べながら読み進めると理解しやすくなります。

また、書籍で扱われるTruffle Suiteの手順が、現在の開発環境とそのまま一致するとは限りません。古いコマンドが動かない場合は、書籍の目的を「ツールの暗記」ではなく「コンパイルからデプロイまでの工程理解」と捉え、Remixなどで同じコントラクトを再現すると学びが途切れません。

おすすめの読み進め方

  1. Ethereumの基本語を確認する:アカウント、トランザクション、ガス、EVMの関係を簡単に図にします。
  2. 小さなコントラクトを動かす:値を保存して読み出すだけの例から始め、コンパイル結果と実行結果を確認します。
  3. テストを先に書く:成功するケースだけでなく、権限がない場合や残高不足の場合も試します。
  4. ローカル・テストネットで確認する:本番資産を使わず、ネットワークやウォレットの違いを体験します。
  5. 現行ツールへ置き換える:Truffleの手順を、RemixやHardhatなど現在使うツールの操作へ読み替えます。

このサイトのSolidity学習コンテンツとの使い分け

当サイトのSolidity入門では、Remixで実行できる短いコードを使い、文法、状態変数、イベント、Ether、セキュリティ、テストの考え方を段階的に解説しています。本書で全体像を読み、サイトで一つずつ実行し、公式ドキュメントで仕様を確認する流れがおすすめです。

まとめ

スマートコントラクト開発では、Solidityの文法だけでなく、Ethereumの実行環境、トランザクション、テスト、デプロイ、安全性までを一つの流れとして理解する必要があります。本書は、その流れを実践的にたどるための入口になります。

Truffle Suiteを現在の開発にそのまま採用するのではなく、書籍で工程の全体像を学び、Remixや現行の開発ツールで手を動かし直すと、過去の知識と現在の実装を結び付けやすくなります。

書籍の詳細を確認する

価格や在庫、電子書籍版の有無はAmazonの商品ページでご確認ください。

Amazonで見る →

当サイトはAmazonアソシエイト・プログラムの参加者です。