8章Web3とは何か

 Web3は、イーサリアムノードをリモートまたはローカルで操作できるようにするJavaScriptライブラリの集まりである。簡単に言うと、ブロックチェーンを簡単に操作できるようにするためのAPIを提供する。Web3は、HTTPまたはIPC接続を使ってリモートまたはローカルのイーサリアムノードに接続するためのJSON-RPCのラッパーとして機能する。要するに、イーサリアムブロックチェーンとスマートコントラクトの橋渡しをする。

 Web3は内部でJSON-RPCを使う。RPC(Remote Procedure Call)はさまざまな種類のプログラミング言語で使われている技術である。JSON-RPCについて詳しく知りたい場合は、仕様書†1を調べてみるとよいだろう。Web3によるイーサリアムノードへの接続はRPCよりも簡単で、ずっと理解しやすいため、本章ではWeb3に焦点を合わせる。

8.1 フロントエンド、Web3、ブロックチェーン

 従来のWeb 2.0アプリケーションでは、ユーザーはReactやEmberといったアプリケーションのフロントエンドとやり取りすることで、(データベース、API、モデルからなる)バックエンドにリクエストを送信する。そうすると、バックエンドがフロントエンドを通じてレスポンスを返す。そして、バックエンドから受け取ったデータをフロントエンドがユーザーに表示する。

 Web 2.0アプリケーションのフローは図8-1のようになる。

図8-1:従来のフロントエンドとバックエンド間の接続

 従来のWeb開発の経験がある人にとって、Web3は、バックエンドからデータを取得したり、バックエンドにデータを追加したりするAPIリクエストに似ている。しかし、Web3では、従来のバックエンドではなくブロックチェーンに対してデータを読み書きすることになる。 ...

Get SolidityとEthereumによる実践スマートコントラクト開発 ―Truffle Suiteを用いた開発の基礎からデプロイまで now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.