チケットとして機能するような NFT を活用する Web アプリケーションのサンプルです。NFT を保有している人だけが特定の Web ページを見られように、アクセスしてきたユーザに対してウォレット アドレスによる認証・認可を行います。
このレポジトリは、以下に示す 3 つのディレクトリを含んでいます。それぞれのディレクトリが、個別のレポジトリへのサブ モジュールになっています。
-
backend ディレクトリ
バックエンドを記述した TypeScript のプロジェクトです。ビルドして起動すると、Express を利用した Web サーバが開始します。 -
blockchain ディレクトリ
スマート コントラクトを記述した Truffle プロジェクトです。スマート コントラクトは、コンパイルした後、ブロックチェーンにデプロイします。 -
frontend ディレクトリ
TypeScript と Vue 3 でフロントエンドを記述した webpack 5 のプロジェクトです。ビルドすると、ユーザー向けのページと管理者向けのページがdistディレクトリに生成されます。
次のコマンドで、全サブ モジュールも含めて、再帰的にクローンします。
git clone --recursive https://github.com/takeiyuto/tickets.git以下の順序で、それぞれのプロジェクトの README の手順に従います。
このサンプル プロジェクトは、MIT Licenseで提供しています。
徹底解説 NFTの理論と実践の第8章を参照してください。本書の Web サイトも参考にしてください。