【注目スキル:DApp(分散アプリケーション)】体系的に学ぶ『スマートコントラクト』開発〜NFT編ステージ1〜

via Udemy

Go to Course: https://www.udemy.com/course/dappnft1/

Introduction

Certainly! Here's a detailed review and recommendation for the Coursera course titled 【注目スキル:DApp(分散アプリケーション)】体系的に学ぶ『スマートコントラクト』開発〜NFT編ステージ1〜: --- **Course Title:** 【注目スキル:DApp(分散アプリケーション)】体系的に学ぶ『スマートコントラクト』開発〜NFT編ステージ1〜 **Overview:** This course offers an in-depth, structured approach to developing smart contracts, focusing specifically on NFTs. It is ideal for learners who want to understand the core mechanics of NFT smart contract development and acquire practical skills in creating unique, functional contracts that go beyond simple creation tools like OpenSea. **Strengths:** - **Comprehensive Curriculum:** The course covers key technical topics such as Solidity programming, OpenZeppelin libraries, ERC-721 standards, and deployment on Polygon Mumbai and Ethereum Sepolia test networks. - **Practical Approach:** Learners will gain hands-on experience by writing, deploying, and verifying smart contracts through the Remix IDE and GitHub repositories. - **Technical Depth:** The coursework delves into advanced topics like IPFS for decentralized storage, Chainlink VRF for randomness, and on-chain NFT data formats, making it suitable for those seeking a solid technical foundation. - **Real-World Relevance:** By studying prominent NFT projects like Nouns, Azuki, Sandbox, and Illuvium, participants can understand what makes successful projects unique and how custom smart contracts add value. **Who is this course for?** - Individuals curious about the technical underpinnings of NFTs and smart contracts. - Those who want to verify claims about NFT permanence, decentralization, and transparency. - Developers aiming to create custom NFT contracts with specialized functionalities. - Learners who prefer a hands-on, experimental learning style with opportunities for self-verification and experimentation. **What will you learn?** You will learn to develop, deploy, and verify NFT smart contracts using Solidity and popular libraries like OpenZeppelin. The course emphasizes understanding blockchain standards, storage solutions, and transaction verification. It encourages a mindset of "trust but verify," empowering learners to experiment and validate concepts through code. **Course Content & Experience:** The curriculum includes: - Solidity programming basics and advanced features. - Using Remix IDE for development and deployment. - Interacting with test networks like Polygon Mumbai and Ethereum Sepolia. - Implementing IPFS-based decentralized storage. - Using Chainlink VRF for randomness. - Verifying and publishing smart contracts on Etherscan. - Navigating NFT marketplaces like OpenSea. - Understanding transaction approval processes and on-chain data security. **Recommendation:** This course is highly recommended for aspiring blockchain developers, NFT creators, and technical enthusiasts who want to move beyond theoretical knowledge to actual smart contract development. It is especially suitable for those who are not satisfied with ready-made NFT creation tools and seek to customize and extend contract functionalities. **Final Verdict:** If you are motivated to deeply understand how NFTs work from a technical perspective and enjoy learning by doing, this course will provide the skills and confidence you need. It fills a crucial gap in NFT education by focusing on practical smart contract development and the underlying blockchain standards. --- **Conclusion:** The 【注目スキル:DApp】 course on Coursera is an excellent investment for anyone serious about mastering NFT smart contracts. Its detailed curriculum, practical exercises, and focus on verification make it an invaluable resource to build both knowledge and confidence in blockchain development. --- Would you like me to help with a shorter summary or a tailored recommendation based on your specific background?

Overview

【注意事項】本コース(収録は2022年5,6月)リリース後、2022年9月に実施された大型アップデート「The Merge」などの影響で利用するテスト用チェーンを変更しています。本コースで利用するツール類の現状を鑑み、現在Polygonのテストネットワーク「Mumbai」を中心に使い、学んでいくことにしています。詳しくは最初のセクションでご案内していますので、ご確認お願いします。-このコースは、DApp(Decentralized Application)の中核である「スマートコントラクト」開発を学ぶためのコースで、テーマはNFTです。各NFTプロジェクトの要件に合わせた機能を持つ独自のスマートコントラクトを開発するための基本的な知識とスキルを体系的に身につけていきます。実はNFTスマートコントラクトを開発せずともOpenSeaの画面からNFTを作成する方法があり、機能的にこのスマートコントラクトで十分なプロジェクトもあります。プログラムを書かずともNFTを作成できるこのようなツールはNFTが広く普及するために非常に有用なものですよね。ただ、もっと独自の機能を使いたいという場合はスマートコントラクトの開発を行い機能を実装していく必要があります。実は海外の著名なNFTプロジェクトの多くはそれぞれ独自のスマートコントラクトを開発しています。それもNFTアート、NFTゲーム、ユーティリティNFTなどジャンルは問わず、多くのプロジェクトが独自開発しています。Nounsも、Azukiも、Meebitも、Doodleも、Sandboxも、Illuviumも...挙げたらキリがないくらいに。OpenSeaなどのマーケットプレイス付属のスマートコントラクトにない機能を使いたい、もしくはコードをOSS化してプロジェクトの信頼を得たいという場合など様々な要望に対して独自にスマートコントラクトを開発することは最も有力な選択肢の一つです。このコースはまさに様々な機能を持つNFTスマートコントラクトを開発するための第一歩となるコースです。具体的に何を学べるかについては、以下と『コースの内容』をご覧ください。 本コースで扱う技術・規格・サービス開発言語             :Solidity (v0.8.14, 1つのみv0.8.7)ライブラリ            :OpenZeppelin(v4.6.0)開発環境             :RemixIDEEthereum規格.     :ERC-721ブロックチェーン(テスト用ネット):Polygon Mumbai, (一部 Ethereum Sepolia) エクスプローラ          :Polygonscan, (一部 Etherscan)ウォレット            :Metamask(ブラウザ:Chrome)ブラウザ             :Chrome,(一部 Brave)ソースコードリポジトリサービス  :GitHub(コースで作成するコードの完成形置いてます)NFTマーケットプレイス       :OpenSea、(一部 Raribleを紹介)分散型ストレージ       :NFTStorage(IPFS/Pinata/FileCoin),(ARweaveは紹介程度)オンチェーンNFT画像データ形式   :SVGオラクルサービス         :Chainlink VRF本コースで学べること(採用技術ツール観点)以下は本コース採用技術、ツール観点で主に学ぶリストです。この観点以外で学ぶことリストは『コースの内容』のセクション、レクチャー名等をご覧ください。ブロックチェーンテスト用のチェーンを使います。パブリックチェーンではPolygon Mumbai,Ethereum Sepolia、プライベートチェーンではRemixIDE(後述)機能を使います。SoliditySPDX/pragma/contract/import/Inheritance/constructor/function/function visibility/State Variable Visibility/Types/virtual/override/require/modifier/Events/Using For/abi.encodePacked/keccak256OpenZeppelin ContractsライブラリERC721.sol/Ownable.sol/ERC721URIStorage.sol/ERC721Burnable.so/ERC721Pausable.sol/Counters.sol/Strings.sol/Base64.solRemixIDE画面レイアウト/コーディング/コンパイル方法/Polygon Mumbai, Ethereum Sepolia,プライベートチェーンへのデプロイ方法/ENVIRONMENT利用方法/COMPILER利用方法/Functionボタンの色の意味/EtherscanへのスマートコントラクトコードのVerify&公開方法/GitHubとの連携方法MetaMaskインストール方法/アカウント作成方法/テストネット表示方法/チェーン追加方法/nonce表示方法/送金方法/テスト用通貨取得方法/MetaMaskからEtherscanを表示する方法/オーナーとなっているNFTの数を表示させる方法MetaMaskに直接関係ないですが以下も学習します。アカウントアドレス生成の仕組みと一瞬でシークレットリカバリーフレーズから派生する秘密鍵,公開鍵,アカウントアドレスを生成する体験Etherscan/Polygonscanテスト用のEtherscan/Polygonscanを使います。トランザクション確認方法(EOA->EOA,EOA->コントラクト)/APIkey発行方法IPFS(+Pinata),FileCoin,NFTStorageBraveに内包するIPFSノードの利用/メタデータファイル、コンテンツデータをアップロードする方法/コンバートしたCARで複数コンテンツをIPFSへ一括アップロードする方法/OpenSeaテスト用のOpenSeaを使います。開発したスマートコントラクトでmintしたNFTを表示、売買する方法(売買はNFTの権限委譲と移転を学ぶために行います)/OpenSeaが定義するMetadata Standardsを元にメタデータを定義する方法Chainlink VRFオラクルChainlink VRFでの乱数取得及び活用方法(ランダムNFT生成するスマートコントラクト開発で使います)本コースを通して伝えたいことNFTとスマートコントラクトについて技術に基づいた正しい知識と開発スキル2022年6月現在でもまだまだNFTに対する誤解が多いです。※ブロックチェーンだからNFTは削除・変更できないかというとそれはスマートコントラクトのプログラム内容次第です。また、正しく理解するにはスマートコントラクトコードの読み書きの基本的なスキルがないと妥当な判断はできないでしょう。なので本コースでは、NFT(ERC-721)の本質、つまり「画像なし」から入ります。徐々に機能を追加、動作を試していき有名なNFTの仕組みやスマートコントラクトができることの基本を習得していきます。本コース受講に向いている方このコースの内容が役に立つ人とそうでない人がはっきり分かれるコースです。今これを読んでくださっているあなたにとって、このコースが役に立つかどうか、↓で2つ質問させていただきます。受講要否の判断材料にしてください。また本ページ最後に質問への回答について基本的なポリシーを書いていますのであらかじめご確認お願いいたします。1つ目の質問テレビ、YouTube、雑誌、ネットなどなど多くのメディアで「NFT」と言う言葉をよく耳にするようになりましたね。2022年6月現在まで、メディアでは「NFTとは何か」について概ねこのように説明されているのを良く見ます。NFTは世界に1つだけのデジタル証書NFTはコピーできないNFTは改ざんできない納得感得られていますか?そもそも説明聞いたことないという方はぜひYouTubeやネット検索して確認してみてください。もしあなたが「スッキリ理解、納得できた」「自分で追加で調べて理解、納得している」という状態であればこのコースは不要です。ここまで読んでいただきありがとうございました。別の機会があればその時改めてよろしくお願いします。一方、「理解、納得できてない」「何かモヤモヤする」「この人、メディアの言ってること信用していいの?」「詳しく仕組みを理解したい」「自分で手を動かして理解したい」もしくは「興味はあるけど詐欺に引っかかりたくない」「NFTって画像でしょ?ダウンロードすれば手に入るのになぜわざわざ買うのか気になってた」「ブロックチェーンで変更できないはずなのにNFTゲームで「体力」の数字が変わるのが謎だった」このような方々にはこのコースが役に立つ可能性があります。2つ目の質問もう一つ質問があります。主にNFTの売買に際して技術的な質問です。そもそも用語がわからないという方もいらっしゃると思いますが、再び突然の質問失礼します。あなたがNFTを購入する立場だとして、オンチェーンのNFTは削除改ざん不可能と言われていますが、本当でしょうか。オフチェーンだけどIPFSを使っているNFTは削除改ざん不可能と言われていますが本当でしょうか。IPFSを使えばデータは永続的に保存されるとも言われていますが本当でしょうか。NFTのコンテンツデータ(画像ファイルなど)がどこに保存されているかをどのように確認しますか例えば、NounsとSandboxとWorld of Womenの3つについて、NFTに付随している画像データの保存先の違いを確認できますか。※オンチェーンですか、オフチェーンですか。オフチェーンの場合は置いているのは中央集権的なサーバですか、分散型ストレージですかNFTスマートコントラクトのプログラムコードの確認と公開方法を説明できますか。あなたがNFTを作成、販売する立場だとして、購入者に対して自身が販売する、(画像等の付属データ含む)NFTの不変性や永続性について説明できますかOpenSeaで初めて「Sell」する際の同意事項の一つに「setApprovalForAll」が実行されますが、これは何を行うために必要なのでしょうか。ERC-721規格のNFTであればOpenSeaの画面から明示的に「登録」する必要はありませんし、Raribleでも閲覧することが可能です。「登録」していないのにNFTマーケットプレイスでNFTが表示されるのはなぜでしょうか。これらの質問に関しても回答がわかり、理解している方であれば本コースの受講は不要です。ここまで読んでいただきありがとうございました。不躾な質問、大変失礼しました。別の機会があればその時改めて是非よろしくお願いします。一方、「用語含め全くわからない」「一部わからない」「聞いたことあるけど仕組みを理解したい」このような方々にはこのコースが役に立つ可能性があります。現状わからなくても全く問題ありません。むしろ本コースはそのような方々を想定して制作しました。このコースを最後まで受講すれば回答できるようになります。ここまで該当している方は、・「本ページの残り部分」の一読と「コース紹介」と「無料で見れるレクチャー」の動画もご覧ください。購入前にご自身が求める内容であるか、また、声が嫌いじゃないか、とか説明の仕方が理解しやすいか、というのも個人差ありますので併せて確認お願いします。学習スタンスここからはコース紹介動画であまり話していない内容を少し書きます。まずは取り組むスタンスについてです。似たような言葉に「DYOR(Do Your Own Research):自分で調べましょう」がありますが、新しい技術なのでこのスタンスは必要ではあるのですが、特にこのコースでは「don't trust , verify.」を意識して作っています。例えば「巷で言われてるけど、NFTって本当に削除できないの?」と言う疑問に対して実際にコードを書いて動作を検証・確認していきます。この理由は、このコースの受講生が、技術的な根拠について少しでも自力で調べたり、実験・検証して動作確認できるようになってもらうためです。人の言葉を信じるのも選択肢の一つですが、自分のために自分の力で確認できる選択肢も手に入れましょう。質問の受付についてコースで扱っているレクチャー内容やレクチャーを進めていくにあたり進められず詰まってしまったなどあれば質問をください。可能な限り回答するようにしますので活用ください!また、講義に解説を追加して欲しい!というリクエストも随時受け付けていますので連絡ください。お待ちしています。ただ1点、コースで扱っているレクチャー内容以外のご質問は基本的に受け付けていませんので予めご了承願います(コース関係ない内容だけどご自身が今開発してるコードのレビューなどはご勘弁ください)。注意事項・本コースで扱うソースコードについて本コースで扱うNFTコントラクトのソースコードは学習目的のものですが、本コースの受講者か否かに限らず提供できるようパブリックリポジトリにし、コードもMITライセンスを採用しています。(この形でスタートして何か問題が出て来ればそのタイミングで見直します。)利用者の権利はMITライセンスの内容通りですので必ず確認をお願いします。また、ソースコードをそのまま使ったり、切り貼りしたりしてご自身のNFTコントラクトを開発し、Ethereumなどのメインネットワークにデプロイするのは推奨しません。・免責事項このコースで多くのサービスを使いながら学びますが、全て学習目的です。技術を学ぶためのコースであり、特定の銘柄や商品の投資や投機を促すものではありません。いかなる責任も賠償もできませんので予めご了承の上受講ください。では、長い文章でしたがここまで読んでいただきありがとうございました!

Skills

Reviews