lesson-1_プロジェクトを開始しよう
👋 dApp 開発プロジェクトへようこそ!
このプロジェクトでは、Avalanche
にスマートコントラクトを実装して、スマートコントラクトとやりとりできる独自のWebアプリケーションを構築します。
このプロジェクトでは以下の技術が必要です。
- Terminal基本操作
- Solidity
- HTML/CSS
- TypeScript
- React.js
いますべてを理解している必要はありません。 わからないことがあったらインターネットで検索したり、コミュニティで質問しながらプ ロジェクトを進めていきましょう!
Avalanche
での開発が初めての方や、hardhat
でスマートコントラクトのテストを書いたご経験の無い方は AVAX-Messenger により詳しく解説がありますので先にそちらを進めるとスムーズかと思います。
🛠 何を構築するのか?
Miniswap
という 分散型 Web アプリケーション(dApp) を構築します。
Miniswap
はAMM
の機能を搭載したスマートコントラクトと、スマートコントラクトとユーザの仲介をするフロントエンドのコードによって作成します。
スマートコントラクトにSolidity
、
フロントエンドにTypeScript
+ React.js
+ Next.js
を使用します。
今回は作成したスマートコントラクトを、FUJI C-Chainへデプロイします。
AvalancheとC-Chainに関する概要はこちらをご覧ください。
🪙 Defi と DEX と AMM
🐦 Defi(分散型金融)
ブロックチェーンのネッ トワーク上に構築される、中心となる管理者がいない金融のエコシステムです。
DeFiの主なメリットとして、コードで管理されたシステムであることやユーザが資産を自身で管理するという点から、 既存金融にあったコストやシステム上の摩擦を軽減することができます。
暗号通貨が貨幣として正常に機能する場合、 Defiがオープンで低価格な点は、現在の金融システムを利用できない低所得者も利用できるなどのメリットにも繋がります。
一方、手数料の高騰が起こり得ることや、ユーザーは資産を自身で管理しなければいけず責任の所在はユーザーにある点などはデメリットとして挙げられます。
🦏 DEX(分散型取引所)
DEXは、AVAX-USDCペアのような2つのトークン間で取引を行うことにより、誰でもブロックチェーン上で暗号通貨トークンを交換することができる取引所です。 Defiの一種です。
Binanceなどの中央集権型の取引所(CEX)は、買い手と売り手のマッチングに注文書を使用するオンライン取引プラットフォームです。 オンライン証券口座と似たような仕組みで、投資家に人気があります。
PancakeSwapやUniswapなどの分散型取引所(DEX)は、暗号通貨トレーダーが保有資産を変換できるスマートコントラクトを搭載した自己完結型の金融プロトコルです。
分散型取引所はメンテナンスの作業を減らすことができるので、中央集権型の取引所よりも一般的に取引手数料が安価です。
🐅 AMM(自動マーケットメーカー)
AMMとは数式 に基づいて自動化されたトレードシステムで、多くのDEXが採用しています。
詳細は実装に依存しますが、最も有名なDEXの1つであるUniswapの実装を参考に本プロジェクトを進めます。
🚀 Avalanche と Defi
DeFiは大きく成長している領域ですが、高騰した手数料にユーザーが苦しめられるなどの課題もあります。
AvalancheでDefiを構築することは以下のようなメリットを与えます。
以下、medium Avalanche: 新しい DeFi ブロックチェーンを解説より抜粋
アクセス性 — Avalancheでのトランザクションコストが低いことは、小規模取引の方が資金的に有利であることを意味し、小規模なプレイヤーやエントリーレベルの投資家にDeFiのエコシステムを開放します。 ユーザーエクスペリエンスはまだ複雑で、新規参入にとって大きな障壁となっていますが、この分野の改善によりDeFi領域でより広範な参加者の流入につなげられる可能性があります。
低スリッページ — Ethereumブロックチェーンの速度は遅くオンチェーン取引を行う際には、大きなスリッページや処理の失敗が発生します。 Avalancheネットワークの高速なトランザクションレートと高いスループットは、最小限の価格スリッページとインスタント取引への扉を開き、DEXでのトレードエク スペリエンスを中央集権型の取引のそれに近づけます。
🌍 プロジェクトをアップグレードする
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)