Безопасность ICO контрактов весна 2018 — различия между версиями
(→Практики) |
(→Результаты) |
||
Строка 43: | Строка 43: | ||
[https://docs.google.com/spreadsheets/d/1rfMaKDy_X3ZoyqiD7ZOIFzakf0lwKZh5lccJYz7ghvo/edit#gid=0 Табличка с результатами] | [https://docs.google.com/spreadsheets/d/1rfMaKDy_X3ZoyqiD7ZOIFzakf0lwKZh5lccJYz7ghvo/edit#gid=0 Табличка с результатами] | ||
+ | |||
+ | Для зачёта требуется сдать 75% домашек. | ||
=== Домашнее задание от 02.03.2018 === | === Домашнее задание от 02.03.2018 === |
Версия 19:22, 26 апреля 2018
Содержание
Лекции
Преподаватель: Половьян Александр Игоревич (a.polovjan@gmail.com)
Есть чат в Телеграм для общения и оповещений (спрашивайте ссылку у коллег), называется "АУ: blockchain (весна 2018)".
Предполагаемая отчётность: зачёт, сложные домашки.
№ занятия | Дата | Лекция | Комментарии |
---|---|---|---|
1 | 02.03.2018 | ico180302.pdf | |
2 | 16.03.2018 | ico180316.pdf | |
3 | 23.03.2018 | ico180323.pdf | |
4 | 30.03.2018 | ico180330.pdf |
Полезные ссылки
Yellow Paper (более детальный), White Paper (более общий).
Практики
Результаты
Для зачёта требуется сдать 75% домашек.
Домашнее задание от 02.03.2018
Находится в слайдах первой лекции:
- Решить, как общаемся вне очных занятий (ответ - чат в Telegram)
- Приватная сеть (как преаллоцировать средства, описание genesis)
- Развернуть приватную ноду Ethereum
- Добавить вторую ноду к этой приватной сети
- Подключить к mainnet'у
- Опционально: запустить сеть на весь курс (есть одна от Димы Лапшина)
Домашнее задание от 16.03.2018
Написать смарт-контракт для записи шахматной партии в блокчейн. 2 участника, ходят по очереди, каждый публикует свой ход (текстовое представление). Смарт-контракт должен предоставлять возможность получить весь ход партии для сторонних наблюдателей. Не требуется проверять корректность ходов - считаем, что если игрок походил неверно, то он автоматически проиграл (а это разбирается вне блокчейна).
Домашнее задание от 23.03.2018
- Написать смарт-контракт для связи двух смарт-контрактов SocialAccount с лекции
- Добавить ограничить вызовы методов для участников (где применимо)
- Валидировать все аргументы функций (где применимо)
- Добавить подтверждение социальной связи вторым участником
- В смарт-контракт SocialAccount реализовать метод AddFriend который будет добавлять друзей при помощи смарт-контракта SocialConnection
- Добавить Event’ы. Про ивенты можно читать тут: http://solidity.readthedocs.io/en/v0.4.21/contracts.html#events
Домашнее задание от 30.03.2018
Добавить возможность хранения ETH в SocialAccount. Реализовать методы:
-
deposit
— зачислить eth на счет смарт-контракта -
withdraw
— перевести часть средств (или все) со счета смарт-контракта на счет владельца -
sendToFriend
— перевести на счет друга (другой экземпляр SocialAccount)