NFTゲームを作ろう
👋 ようこそ
このプロジェクトでは、NFTを使ったWebゲームアプリケーションを構築していきます。
プロジェクトを進めるには以下の技術が必要です。
※ 開発初心者の方は、まずETH-dAppのプロジェクトから始めることをお勧めします ☺️
いますべてを理解している必要はありません。
わからないことがあったらインターネットで検索したり、コミュニティで質問しながらプロジェクトを進めていきましょう!
✨ NFT Game を作ろう
このプロジェクトでは、オリジナルNFTコレクションを作成していきます。
プロジェクトは下記の3つステップに分かれています。
1. NFTに関するすべてのロジックが含まれたスマートコントラクトを作成する。
2. 作成したスマートコントラクトをブロックチェーンにデプロイする。
3. NFTを使った対戦ができるWebアプリケーションを構築する。
NFTはオン・チェーンにデプロイされます。
- オン・チェーンにデプロイされるとは、「NFTのデータはすべてブロックチェーン上に記載される」という意味です。
⛓ ブロックチェーンとは何か?
ブロックチェーンとは、互いに通信するコンピュータ(ノード)のピアツーピア・ネットワークです。
参加者全員がネットワークの運営を分担する分散型ネットワークですので、各ネットワークの参加者は、ブロックチェーン上のコードとデータのコピーを維持します。
これらのデータはすべて、「ブロック」と呼ばれる記録の束に含まれており、それらが「連鎖」してブロックチェーンを構成しています。
ネットワーク上のすべてのノードは、コードとデータがいつで も変更可能な中央集権型のアプリケーションとは異なり、このデータが安全で変更不可能であることを保証しています。これがブロックチェーンを強力なものにしているのです ✨
ブロックチェーンはデータの保存を担っているため、根本的にはデータベースです。
そして、互いに会話するコンピュータのネットワークですから、ネットワークとなります。ネットワークとデータベースが一体化したものと考えればよいでしょう。
また、従来のWebアプリケーションとブロックチェーンアプリケーションの根本的な違いとして、アプリケーションは、ユーザーのデータを一切管理しません。ユーザーのデータは、ブロックチェーンによって管理されています。
🥫 スマートコントラクトとは何か?
よくたとえられるのは、自動販売機です。自動販売機には「100円が投下され、ボタンが押されたら、飲み物を落とす」というプログラムが搭載されており、「店員さんがお金を受け取って飲み物を渡す」というプロセスを必要としません。
人の介在を省き、自動的にプログラムが実行される点こそ、スマートコントラクトが、「スマート」と呼ばれる理由です。
実際には、スマートコントラクトのしくみは、イーサリアムネットワーク上のすべてのコンピュータに複製され、処理されるプログラムにより成り立っています。