|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/dappnft2/
课程评论:没有评论
本課程「実践DApp開発入門 〜NFT編ステージ2〜」旨在教授如何開發一個DApp(去中心化應用程式),該DApp能夠為NFT持有者提供專屬功能,例如代幣轉移、存款和提款。 課程內容將涵蓋以下主要部分: * **智能合約開發:** * 使用OpenZeppelin的Contracts函式庫開發符合ERC-721標準的NFT智能合約。 * 從頭開始開發部分ERC-20標準的代幣功能,並實現類似銀行功能的代幣轉移、存款和提款。 * **開發流程:** * 按照NFT智能合約 -> FT智能合約 -> 前端開發的順序進行開發。 * 頻繁進行單元測試,旨在提高代碼品質,同時熟悉使用Ethers.js與智能合約互動。 * **前端應用開發:** * 連接MetaMask錢包。 * 與智能合約互動,發送查詢和交易。 * **主要技術棧:** * 開發語言:Solidity (v0.8.9) * 函式庫:OpenZeppelin (v4.7.0) * 開發框架:Hardhat (v2.9.9) * 客戶端函式庫:Ethers.js (v5.6.9) * 單元測試:Waffle (v3.4.4) / Chai (4.3.6) * 前端框架:Next.js (v12.2) * CSS框架:Tailwind CSS (v3.1.4) * 部署平台:Vercel * 測試網絡:Ethereum Goerli * 代幣標準:ERC-721 (ERC-20僅作參考) **注意事項:** * 課程中使用的測試鏈為Goerli,因Rinkeby已廢止。 * 開發過程中遇到的錯誤和警告將會保留,以強調單元測試的重要性。 * 歡迎學習者就課程內容提問,但不接受課程範圍之外的諮詢。 * 課程提供的原始碼以MIT授權發布,僅供學習目的,不建議直接用於主網絡部署。 * 本課程為技術學習,不涉及任何投資建議。
【注意事項】コース制作時はEthereum のテストチェーンとして「Rinkeby」を使用していましたが、先般実施された大型アップデート「ETH Merge」にてRinkebyが廃止となったため「Goerli」読み替え、聞き替えをお願いします。動画レクチャーは順次アップデートしていきます。ご不便おかけしますが、よろしくお願いいたします。NFTを所有している特別なアカウントのみが使える機能(トークン移転、預入、引出)を提供するDApp(分散アプリケーション)を開発していきます。スマートコントラクトは2つ開発します。1つは、NFTスマートコントラクトです。ERC-721に準拠したものをOpenZeppelinのContractsライブラリを使って開発します。もう一つは、ERC-20に完全準拠はしていないもののERC-20の一部をスクラッチ開発していきます。さらに、銀行機能をイメージしたようなトークンの移転、預入、引出機能を開発します。具体的に何をどのような順番で学んでいくかについては、以下と『コースの内容』をご参照ください。開発の流れなど開発する順番NFTスマートコントラクト->FTスマートコントラクト->フロントエンドスマートコントラクト開発開発->ユニットテストを繰り返していくスタイルで開発していきますユニットテストは品質向上だけでなく、フロントエンドアプリからスマートコントラクトを操作するために使うEthers.jsの習熟も目的にしています。開発が終わったら最終的にテストネットのGoerliにデプロイしますフロントエンドアプリ開発大きく2セクションに分けていますMetaMaskを開発するサイトに接続する機能開発スマートコントラクトに接続し、クエリやトランザクションを発行する機能開発注意Ethers.jsを使ったDApp開発に主眼を置いていますNext.js/TailWind CSSについては「学ぶ」というより「体験する」を重視しているため、深く解説することは行っていません本コースで扱う主な技術・規格・サービス開発言語 :Solidity (v0.8.9)ライブラリ :OpenZeppelin(v4.7.0)開発フレームワーク :Hardhat(v2.9.9)クライアントライブラリ : Ethers.js(v5.6.9)ユニットテスト : Waffle(v3.4.4)/Chai(4.3.6)フロントエンドアプリ : Next(v12.2)CSS : TrailWindCSS(v3.1.4)ホスティングサービス : Vercel(フロントエンドのデプロイ先として使用)Ethereum規格 :ERC-721,(ERC-20は参考程度)ブロックチェーン(テスト用ネット):Ethereum Goerliエクスプローラ :Etherscanウォレット :Metamask(ブラウザ:Chrome)ソースコードリポジトリサービス :GitHubNFTマーケットプレイス :OpenSea分散型ストレージ :NFTStorage(IPFS/FileCoin)注意事項・本コース制作の中で発生したエラーやWarning、バグについて本コースでは開発の中で出たエラーやWarning、バグなどについてあまり編集をせず残しています。本コースは教材なので、あえてエラーを発生させ修正する方法学ぶ、というものも当然多くありますが、私自身意図していないエラーの発生やタイポなどお見せするのも恥ずかしいようなものも少し残しています。このような類のエラー、不具合は、ユニットテストなどテストで気づけることが多いので、テストの重要性をより強調するための意図で残すことにしました。あらかじめご了承ください。・質問の受付についてコースで扱っているレクチャー内容やレクチャーを進めていくにあたり進められず詰まってしまったなどあれば質問をください。可能な限り回答するようにしますので活用ください!また、講義に解説を追加して欲しい!というリクエストも随時受け付けていますので連絡ください。お待ちしています。ただ1点、コースで扱っているレクチャー内容以外のご質問は基本的に受け付けていませんので予めご了承願います(コース関係ない内容だけどご自身が今開発してるコードのレビューなどはご勘弁ください)。・本コースで扱うソースコードについて本コースで扱う2つのスマートコントラクトとフロントエンドアプリのソースコードは学習目的のものですが、本コースの受講者か否かに限らず提供できるようパブリックリポジトリにし、コードもMITライセンスを採用しています。(この形でスタートして何か問題が出て来ればそのタイミングで見直します。)利用者の権利はMITライセンスの内容通りですので必ず確認をお願いします。また、ソースコードをそのまま使ったり、切り貼りしたりしてご自身のNFTコントラクトを開発し、Ethereumなどのメインネットワークにデプロイするのは推奨しません。・免責事項このコースで多くのサービスを使いながら学びますが、全て学習目的です。技術を学ぶためのコースであり、特定の銘柄や商品の投資や投機を促すものではありません。いかなる責任も賠償もできませんので予めご了承の上受講ください。