プロジェクトを開始しよう
👋 dApp 開発プロジェクトへようこそ!
このプロジェクトでは、 Avalanche上にスマートコントラクトを実装し、 スマートコントラクトとやりとりできる独自のWebアプリケーションを構築します。
このプロジェクトでは以下の技術が必要です。
Terminal基本操作- Solidity
- HTML/CSS
- TypeScript
- React.js
いますべてを理解している必要はありません。
わからないことがあったらインターネットで検索したり、 コミュニティで質問しながらプロジェクトを進めていきましょう!
Avalancheでの開発が初めての方や、 hardhatでスマートコントラクトのテストを書いたご経験の無い方は AVAX-Messenger により詳しく解説がありますので先にそちらを進めるとスムーズかと思います。
またNFTに関して実装が初めての方はETH NFT Collectionにより詳しく解説があります。
🛠 何を構築するのか?
分散型Webアプリケーション(dApp) を構築します。
資産のトークン化と、 それらトークンを購入することができるdappを作成します。
資産のトークン化とは、 ここでは現実世界の資産をトークンで表現することを指します。
本プロジェクトでは農家の方を対象に、 資産を収穫物(農作物)、 トークンをNFTとしてdappを作成します。
農家の方は独自の期限付きNFTを作成し、 そのNFTを所持している人には定期的に収穫物を届けるというような農家のサブスクリプションサービスを想定しています。
トークン化には以下のようなメリットがあります。
- 資産を柔軟に分割して価格設定をすることや 、 スマートコントラクトに取引仲介を任せることで、 より多くの購入者にアクセスする機会を与えることができます。
- 規格に沿ったトークンにより、 ブロックチェーン上に展開されるあらゆるサービスでトークンの利用・取引が簡単に可能です。
- その他に取引の自動化や透明性などのスマートコントラクトのメリットがあります。
スマートコントラクトにSolidity、
フロントエンドにTypeScript + React.js + Next.jsを使用します。
今回は作成したスマートコントラクトを、 FUJI C-Chainへデプロイします。
AvalancheとC-Chainに関する概要はこちらをご覧ください。
🚀 Avalanche と Tokenization
Avalancheはそのコンセンサスアルゴリズムやサブネット(独自のブロックチェーンを作成)技術により、 トランザクションの速さとスケーラビリティに大きな強みを持っています。
また、Avalancheの開発チームであるAva Labsは全ての資産のデジタル化を掲げており、 資産のトークナイズについても推進しております。 こちらやこちらを参照してください。
これからあらゆる現実世界の資産のトークン化が進むとすると、 トランザクションの数も増えていくことになります。
スケーラビリティを持ったAvalancheはその土台として大きな可能性を持っています。
🌍 プロジェクトをアップグレードする
UNCHAIN のプロジェクトは UNCHAIN License により運用されています。
プロジェクトに参加していて、「こうすればもっと分かりやすいのに!」「これは間違っている!」と思ったら、ぜひpull requestを送ってください。
GitHubから直接コードを編集して直接pull requestを送る方法は、こちらを参照してください。
どんなリクエストでも大歓迎です 🎉
また、 プロジェクトを自分のGitHubアカウントにForkして、中身を編集してからpull requestを送ることもできます。
👋 UNCHAIN-projectsにpull requestを送る! ⏩ UNCHAIN の GitHub にアクセス!
⚡️ Issueを作成する
pull request送るほどでもないけど、提案を残したい! と思ったら、こちら にIssueを作成してみましょう。
Issueの作成方法に関しては、こちらを参照してください。
pull requestやissueの作成は実際にチームで開発する際、重要な作業になるので、ぜひトライしてみてください。
UNCHAINのプロジェクトをみんなでより良いものにしていきましょう ✨
Windows を使用している方へ
Windows をお使いの場合は、Git for Windows をダウンロードし、 それに付属する Git Bash を使うことをお勧めします。
本手順では UNIX 固有のコマンドをサポートしています。
Windows Subsystem for Linux (WSL) も選択肢の一つです。
次のレッスンに進んでプログラミングの環境構築しましょう 🎉
Documentation created by ryojiroakiyama(UNCHAIN discord ID: rakiyama#8051)