Массовый открытый онлайн курс: Cloud-технологии: Блокчейн Инженерия
Информационно-коммуникационные технологии/Информатика
Класс:
10 класс
Раздел:
Компьютерные сети и информационная безопасность
Тема:
Массовый открытый онлайн курс: Cloud-технологии: Блокчейн Инженерия
27.10.2023
0
0
Цели обучения (ссылка на учебную программу): | <ul><li>Ознакомление школьников старших курсов и студентов с детальной структурой и содержанием курса, включая изучение ключевых модулей и ожидаемых результатов. </li><li>Понимание связи между текущим уроком и общими целями программы, а также его вклада в достижение конечных образовательных результатов. </li></ul> |
Цели урока: | <ul><li>Глубокое погружение в принципы работы и архитектуру блокчейн-технологий. </li><li> Разработка навыков проектирования и создания децентрализованных приложений с акцентом на смарт-контракты.</li></ul> |
Языковые цели: | <ul><li>Расширение словарного запаса школьников старших курсов и студентов за счет введения специализированных терминов и концепций блокчейна. </li><li> Улучшение навыков академического письма и говорения в контексте блокчейн-технологий.</li></ul> |
Ожидаемый результат: | <ul><li>Школьники старших курсов и студенты смогут самостоятельно анализировать и оценивать блокчейн-проекты, а также предлагать улучшения и инновационные решения. </li><li> Реализация собственного смарт-контракта, отвечающего заданным техническим требованиям.</li></ul> |
Критерии успеха: | <ul><li>Каждый школьник старшего курса и студент сможет представить и обосновать свой смарт-контракт, продемонстрировать его работу и безопасность. </li><li> Качественное выполнение практических заданий и активное участие в обсуждениях на уроке.</li></ul> |
Привитие ценностей: | <ul><li>Формирование ответственного отношения к разработке технологий, которые могут иметь значительное социальное влияние. </li><li> Поддержка культуры инноваций и непрерывного обучения в области высоких технологий.</li></ul> |
Навыки использования ИКТ: | <ul><li>Освоение передовых инструментов для разработки, тестирования и развертывания блокчейн-приложений.</li><li>Развитие умений работы с облачными сервисами и платформами, которые активно используются в блокчейн-разработке.</li></ul> |
Межпредметная связь: | <ul><li>Интеграция знаний из области математики (алгоритмы и криптография), информатики (программирование и системный анализ) и экономики (цифровая экономика и финансовые модели). </li><li> Связь с юридическими аспектами использования блокчейн, в том числе вопросами интеллектуальной собственности и регулирования.</li></ul> |
Предыдущие знания: | <ul><li>Знание основных концепций объектно-ориентированного программирования, а также понимание принципов работы современных операционных систем и баз данных. </li><li> Предварительное знакомство с основами финансов и экономики, что позволит лучше понять потенциальные приложения блокчейн-технологий.</li></ul> |
Ход урока
Этапы урока | Запланированная деятельность на уроке | Ресурсы |
---|---|---|
Лекция 1-1 |
<p>История блокчейн технологии и цифровых финансов - 1 часть</p> | <p><a href="https://www.youtube.com/watch?v=QliOqKZPQM8" target="_blank">Ссылка на 1 лекцию</a><br></p> |
Лекция 1-2 |
История блокчейн технологии и цифровых финансов - 2 часть | <p><a href="https://www.youtube.com/watch?v=GOFQSHZfDMU">Ссылка на 2 лекцию</a><br></p> |
Лекция 1-3 |
Введение в Блокчейн | <p><a href="https://www.youtube.com/watch?v=mjarf5s7-dE">Ссылка на 3 лекцию</a><br></p> |
Лекция 1-4 |
<p>Merkle Root</p> | <p><a href="https://www.youtube.com/watch?v=lamQVzqNa8o">Ссылка на 4 лекцию</a><br></p> |
Лекция 1-5 |
Распределенный Реестр & Прозрачность Блокчейна. | <p><a href="https://www.youtube.com/watch?v=i7TD3gibxgY" target="_blank">Ссылка на 5 лекцию</a><br></p> |
Лекция 1-6 |
Работа с тестовым Блокчейном | <p><a href="https://www.youtube.com/watch?v=RuB_3GHeh3E">Ссылка на 6 лекцию</a><br></p> |
Практика 1 |
<ul><li>Cоздание кошелька Практика по второй лекции: Создать web3 кошелек: https://metamask.io/ </li><li> Получить тестовые BNB: https://testnet.bnbchain.org/faucet-smart </li><li> Добавить сеть Binance Smart Chain Testnet в метамаск: https://chainlist.org/?testnets=true&search=97 </li><li> Получить тестовые BNB: https://testnet.bnbchain.org/faucet-smart </li><li> Если первый кран не работает можно через: https://faucet.quicknode.com/binance-smart-chain/bnb-testnet </li><li> Создать второй аккаунт в метамаск (+ Create account): Отправить 0.1 BNB на второй аккаунт </li></ul> | |
Практика 2 |
<ul><li>Yellow paper, White paper Следующие ресурсы рекомендуются к прочтению чтобы больше узнать про работу блокчейна </li><li> Yellow paper ethereum: https://ethereum.github.io/yellowpaper/paper.pdf </li><li> White paper ethereum: https://ethereum.org/en/whitepaper/ </li></ul> | |
Лекция 2-1 |
Ключевые термины - Криптография в Блокчейне | <p><a href="https://www.youtube.com/watch?v=sOe6OfRJScU" target="_blank">Ссылка на 2-1 лекцию</a><br></p> |
Лекция 2-2 |
Симметричное и ассиметричное шифрование | <p><a href="https://www.youtube.com/watch?v=JNTl32AHx2w" target="_blank">Ссылка на 2-2 лекцию</a></p> |
Лекция 2-3 |
Криптографические хэш-функции | <p><a href="https://www.youtube.com/watch?v=kA6xCZcIXGo" target="_blank">Ссылка на 2-3 лекцию</a><br></p> |
Лекция 2-4 |
Как работает Блокчейн | <p><a href="https://www.youtube.com/watch?v=a04mdwNJtkY" target="_blank">Ссылка на 2-4 лекцию</a><br></p> |
Лекция 2-5 |
<p>Рабочий процесс Блокчейна. НОДы</p> | <p><a href="https://www.youtube.com/watch?v=NnP19TNtHUQ" target="_blank">Ссылка на 2-5 лекцию</a><br></p> |
Лекция 2-6 |
Блокчейн демо | <p><a href="https://www.youtube.com/watch?v=1qh1E9gDA9E" target="_blank">Ссылка на 2-6 лекцию</a><br></p> |
Практика 3 |
<ul><li>Практика, криптография в блокчейн Работа с блокчейн обозревателем: https://testnet.bscscan.com/ </li><li> Как создаются ключи в EVM (Ethereum Virtual Machine): https://chainstack.com/how-do-ethereum-and-solana-generate-public-and-private-keys/ </li><li> Практика с симметричным шифром AES (Advanced Encryption Standard): https://aesencryption.net/</li></ul> | <p><a href="https://testnet.bscscan.com/" target="_blank">testnet.bscscan</a><br></p> |
Практика 2 |
<ul><li>Как создаются блоки в блокчейне: https://andersbrownworth.com/blockchain/</li></ul> | <p><a href="https://andersbrownworth.com/blockchain/" target="_blank">Ссылка</a><br></p> |
Лекция 3-1 |
Алгоритм консенсуса и майнинг блоков | <p><a href="https://www.youtube.com/watch?v=8zXLWKtT8Vo" target="_blank">Ссылка на 3-1 лекцию</a><br></p> |
Лекция 3-2 |
Алгоритм консенсуса | <p><a href="https://www.youtube.com/watch?v=WmLI2Udd1FA" target="_blank">Ссылка на 3-2 лекцию</a><br></p> |
Лекция 3-3 |
Альтернативные варианты алгоритма консенсуса | <p><a href="https://www.youtube.com/watch?v=S0Xw9oEsjto" target="_blank">Ссылка на 3-3 лекцию</a><br></p> |
Лекция 3-4 |
Валидаторы в BNB chain. Gas&fees | <p><a href="https://www.youtube.com/watch?v=pVsXlllEIwE" target="_blank">Ссылка на 3-4 лекцию</a><br></p> |
Лекция 3-5 |
Обозреватель блокчейна | <p><a href="https://www.youtube.com/watch?v=v7UoVdMTIKY" target="_blank">Ссылка на 3-5 лекцию</a><br></p> |
Лекция 3-6 |
Разбор блока и транзакции | <p><a href="https://www.youtube.com/watch?v=XS3YewCgKHM" target="_blank">Ссылка на 3-6 лекцию</a><br></p> |
Практика 5 |
<ul><li>Практика по работе с обозревателем блокчейна </li><li> Обозреватель блокчейна: https://testnet.bscscan.com/ Разбор блока: https://testnet.bscscan.com/block/27656756 </li><li> Разбор транзакции https://testnet.bscscan.com/tx/0x1cda85f1d473f46174dd121ff4ef2c34baba7d6235f698dfe6b93f67703a73bf </li><li> Взаимодействие с dApp: https://pancakeswap.finance/?chain=bscTestnet </li><li> Взаимодействие со смарт-контрактами, пример pancakeswap: https://testnet.bscscan.com/address/0xD99D1c33F9fC3444f8101754aBC46c52416550D1#contracts</li></ul> | <p><a href="https://testnet.bscscan.com/block/27656756" target="_blank">Ссылка</a><br></p> |
Практика 6 |
<ul><li>Практика по работе c существующими приложениями </li><li> Обозреватель блокчейна: https://testnet.bscscan.com/ </li><li> Взаимодействие с decentralized exchange: <a href="https://pancakeswap.finance/?chain=bscTestnet" target="_blank">https://pancakeswap.finance/?chain=bscTestnet</a></li><li> Взаимодействие NFT marketplace: https://testnets.opensea.io/ </li><li> Разбор различных видов подписей</li></ul> | <p><a href="https://pancakeswap.finance/?chain=bscTestnet" target="_blank">Ссылка</a><br></p> |
Лекция 4-1 |
Понимание DLT, Bitcoin, Ethereum и BNB Chain. | <p><a href="https://www.youtube.com/watch?v=Ak0Br8tQYbg" target="_blank">Ссылка на 4-1 лекцию</a><br></p> |
Лекция 4-2 |
DLT в сравнении с традиционными базами данных | <p><a href="https://www.youtube.com/watch?v=7lvlRxpBxyw" target="_blank">Ссылка на 4-2 лекцию</a><br></p> |
Лекция 4-3 |
Bitcoin и его тип реестра | <p><a href="https://www.youtube.com/watch?v=06VfCMZ8bvI" target="_blank">Ссылка на 4-3 лекцию</a><br></p> |
Лекция 4-4 |
Ethereum и его тип реестра | <p><a href="https://www.youtube.com/watch?v=y6zav4AP7Do" target="_blank">Ссылка на 4-4 лекцию</a><br></p> |
Лекция 4-5 |
Ethereum как state machine | <p><a href="https://www.youtube.com/watch?v=ChA4YJr5QLc" target="_blank">Ссылка на 4-5 лекцию</a><br></p> |
Лекция 4-6 |
Практика с существующими приложениями | <p><a href="https://www.youtube.com/watch?v=sLpAwBxZewg" target="_blank">Ссылка на 4-6 лекцию</a><br></p> |
Практика 7 |
<ul><li>Понимание DLT, Bitcoin, Ethereum и BNB Chain Цель этого задания - углубить ваше понимание о распределенных технологиях (DLT) и три из самых известных криптовалют и блокчейн-платформ: Bitcoin, Ethereum и Binance Smart Chain (BNB Chain). </li><li> Задание 1: Основы DLT Исследуйте и напишите краткий отчет (около 300 слов) о том, что такое распределенная технология (DLT). Объясните, как работает DLT, включая концепции децентрализации, блокчейна и консенсуса. Приведите примеры использования DLT в реальной жизни. </li><li> Задание 2: Bitcoin и его Роль Опишите, что такое Bitcoin и как он работает. Расскажите об основных принципах его консенсус-механизма, децентрализации и майнинга. Объясните, как Bitcoin использовался и как он влияет на сферу финансов и экономику. </li><li> Задание 3: Ethereum и Децентрализованные Приложения Изучите Ethereum и его способность поддерживать смарт-контракты и децентрализованные приложения. Напишите о важных аспектах Ethereum, таких как EVM, токены ERC-20, и его влияние на развитие DeFi и других инноваций.</li><li> Задание 4: Binance Smart Chain и Применение Исследуйте Binance Smart Chain (BNB Chain) и опишите, какие особенности делают его уникальным. Расскажите о преимуществах и возможностях использования BNB Chain для различных сценариев, таких как создание смарт-контрактов, DeFi и децентрализованных приложений. </li><li> Задание 5: Сравнение и Анализ Сравните и проанализируйте Bitcoin, Ethereum и BNB Chain по следующим критериям: концепции, цели, технические характеристики, применение и будущие перспективы. Какие у них общие черты, а в чем различия? Какие преимущества и ограничения у каждой из них? </li><li> Заключение: Ваше исследование и анализ помогут углубить ваше понимание о DLT и криптовалютах, а также позволят рассмотреть разнообразные аспекты их влияния на современный мир. Данные знания будут полезны для понимания технологических и экономических трендов, связанных с блокчейном.</li></ul> | |
Лекция 5-1 |
Введение в смарт-контракты | <p><a href="https://www.youtube.com/watch?v=7rFccqP1aSI" target="_blank">Ссылка на 5-1 лекцию</a><br></p> |
Лекция 5-2 |
Введение в Solidity Часть 1 | <p><a href="https://www.youtube.com/watch?v=8NtCFfG8yuQ" target="_blank">Ссылка на 5-2 лекцию</a><br></p> |
Лекция 5-3 |
Введение в Solidity Часть 2 | <p><a href="https://www.youtube.com/watch?v=Vn3Hgbd5rOo" target="_blank">Ссылка на 5-3 лекцию</a><br></p> |
Лекция 5-4 |
Введение в Solidity Часть 3 | <p><a href="https://www.youtube.com/watch?v=Mj-nz6u4ZXI" target="_blank">Ссылка на 5-4 лекцию</a><br></p> |
Лекция 5-5 |
Введение в Solidity Часть 4 | <p><a href="https://www.youtube.com/watch?v=GNtEY6Ld5JM" target="_blank">Ссылка на 5-5 лекцию</a><br></p> |
Лекция 5-6 |
Введение в Solidity Часть 5 | <p><a href="https://www.youtube.com/watch?v=Kv6kco2fn8M" target="_blank">Ссылка на 5-6 лекцию</a><br></p> |
Практика 8 |
<ul><li># Intro to smart-contracts Модификаторы доступа: https://docs.soliditylang.org/en/v0.8.17/cheatsheet.html#function-visibility-specifiers Документация solidity: https://docs.soliditylang.org/en/v0.8.19/ </li><li> Практическое занятие: </li><li> Ознакомится со средой разработки для смарт-контрактов Remix: https://remix.ethereum.org/ </li><li> 1 Написать смарт-контракт: // SPDX-License-Identifier: MIT pragma solidity ^0.8.18; contract Note { //Мы можем писать заметки а также читать наши заметки string myNote; //state variable (состояние переменная) //модификаторы доступа: private, internal, extarnal, public //Если public -> автоматический создается геттер функция //reference type (ссылочных типов) локальных переменных пишем memory function setNote(string memory _note) public { myNote = _note; } function getNote() public view returns (string memory) { //view = gasless (бесплатной) return myNote; } function pureNote(string memory _pureNote) public pure returns (string memory){ //pure вы даже не читаете state return _pureNote; } }</li><li>2. Скомпилировать смарт-контракт </li><li> 3. Задеплоить контракт через “injected provider metamask” на bnb chain testnet (chain id 97) Взаимодействовать со смарт-контрактом </li><li> 4. Взаимодействовать со смарт-контрактом</li></ul> | <p><a href="https://remix.ethereum.org/" target="_blank">remix.ethereum</a><br></p> |
Практика 9 |
Intro to Solidity Coin Flipper smart-contract // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; //мы можем выбрать орел и решка //смарт-контракт подбрасывает монету и определяет победили ли мы contract CoinFlipper{ uint8 option; //1 BNB = 10^9 gwei //1 BNB = 10^18 wei //0.0001 BNB = 100000 constructor() payable {} function coinFlip(uint8 _option) public payable returns (bool){ require(_option <2, "You can choose only 0 or 1"); require(address(this).balance >= msg.value*2, "Address do not have sufficient balance"); //require option = _option;//орел - 0 решка - 1 uint256 result = block.timestamp%2;//result = 0 или 1 if (result == _option){ payable(msg.sender).transfer(msg.value*2); return true; } else{ return false; } } receive() external payable { } } |
Отзывы(0)