Рекомендуем
Криптография в информационном мире |
Криптографические методы защиты информации |
Криптографические интерфейсы и их использование |
Книга
Основы разработки смарт-контрактов и их отладка в тестовых сетях блокчейн
Учебное пособие для вузов
190 стр.
Формат 60х90/16 (145x215 мм)
Исполнение: в мягкой обложке
ISBN 978-5-9912-1180-2
ББК 16.84
УДК 004.056.5:003.26(075.8)
Аннотация
Пособие посвящено практическому освоению блокчейн-разработки на платформе Ethereum. Рассматривается подключение к тестовой сети Sepolia и работа с кошельком MetaMask, а также настройка локальныхблокчейн-сред Ganache и Hardhat. Подробно изложен процесс создания смарт-контрактов на языке Solidity с использованием Node.js и Python. Описаны методы взаимодействия с контрактами через Web3.js и Web3.py, а также создание приложений для локальных и тестовых сетей. Приведены примеры создания смарт-контрактов, таких как опционные контракты, процессинг платежей и др. Рассматривается работа с децентрализованным хранилищем Swarm и с BigchainDB — распределённой базой данных с технологией блокчейн.
Для студентов бакалавриата и магистратуры, обучающихся по направлениям 38.03.05 и 38.04.05 – «Бизнес-информатика», 09.03.01 и 09.04.01 – «Информатика и вычислительная техника», 09.03.02 и 09.04.02 – «Информационные системы и технологии».
Пособие посвящено практическому освоению блокчейн-разработки на платформе Ethereum. Рассматривается подключение к тестовой сети Sepolia и работа с кошельком MetaMask, а также настройка локальныхблокчейн-сред Ganache и Hardhat. Подробно изложен процесс создания смарт-контрактов на языке Solidity с использованием Node.js и Python. Описаны методы взаимодействия с контрактами через Web3.js и Web3.py, а также создание приложений для локальных и тестовых сетей. Приведены примеры создания смарт-контрактов, таких как опционные контракты, процессинг платежей и др. Рассматривается работа с децентрализованным хранилищем Swarm и с BigchainDB — распределённой базой данных с технологией блокчейн.
Для студентов бакалавриата и магистратуры, обучающихся по направлениям 38.03.05 и 38.04.05 – «Бизнес-информатика», 09.03.01 и 09.04.01 – «Информатика и вычислительная техника», 09.03.02 и 09.04.02 – «Информационные системы и технологии».
Оглавление
Введение
1. Первое подключение к тестовой блокчейн-сети Ethereum Sepolia и кошельку MetaMask
1.1. Основные и тестовые сети Ethereum
1.2. Подключение к тестовой сети Sepolia для блокчейна Ethereum
Контрольные вопросы
2. Пополнение кошелька MetaMask тестовым эфиром и отправка эфира на адрес получателя
2.1. Первый способ пополнения тестового ETH
2.2. Альтернативный способ пополнения тестового ETH
2.3. Что делать, если баланс токенов неверен
Контрольные вопросы
3. Подключение к локальной блокчейн-среде Ganache в Docker-контейнере с использованием библиотеки Web3.py для Python
3.1. Запуск Ganache в Docker-контейнере
3.2. Установка FastAPI, Uvicorn и библиотеки web3
3.3. Запуск FastAPI с Uvicorn
3.4. Тестирование FastAPI и Web3.py
Контрольные вопросы
4. Запуск в локальной блокчейн-среде Ganache первого приложения на Node.js для взаимодействия со смарт-контрактами
4.1. Установка программ для проекта
4.2. Запуск проекта
Контрольные вопросы
5. Запуск в локальной блокчейн-сети Hardhat первого приложения на Node.js для взаимодействия со смарт-контрактами
5.1. Установка программ для проекта
5.2. Запуск Hardhat-сети
Контрольные вопросы
6. Подключение к тестовой сети Sepolia и перевод эфира между счетами из приложения Node.js
6.1. Создание окружения
6.2. Создание аккаунтов отправителя и получателя
6.3. Пополнение аккаунта отправителя через кран
6.4. Отправка эфира с одного аккаунта на другой
6.5. Проверка пересылки эфира с помощью блокчейн-обозревателя Etherscan
Контрольные вопросы
7. Использование локальной блокчейн-сети Hardhat для создания смарт-контрактов на языке Solidity
7.1. Что такое Solidity?
7.2. Установка Hardhat и инициализация проекта
7.3. Запуск локального RPC-узла
7.4. Создание смарт-контракта
7.5. Компиляция контракта
7.6. Развертывание контракта на локальной тестовой сети
7.7. Тестирование смарт-контракта
Контрольные вопросы
8. Смарт-контракт на языке Solidity в тестовой сети Sepolia с использованием среды разработки Remix
8.1. Настройка Remix
8.2. Написание кода смарт-контракта на Solidity
8.3. Компиляция и развертывание смарт-контракта Solidity
Контрольные вопросы
9. Создание опционных смарт-контрактов на эфир и взаимодействие с контрактами через Web интерфейс на Python в локальной блокчейн-среде Ganache
9.1. Установка Node.js в контейнере с Ganache
9.2. Создание смарт-контракта на Solidity
9.3. Компиляция контракта
9.4. Взаимодействие с контрактом через Web3.py
9.5. Тестирование смарт-контракта
Контрольные вопросы
10. Создание фронтенда для взаимодействия с опционным контрактом через MetaMask, развертывание локальной блокчейн-сети Hardhat из Docker
10.1. Развертывание тестовой локальной сети Hardhat
10.2. Подготовка HTML-интерфейса
10.3. Изменения в main.py для Fastapi приложения
10.4. Запуск FastAPI-сервера
10.5. Фабрики контрактов и оракулы
Контрольные вопросы
11. Децентрализованное хранилище Ethereum Swarm
11.1. Установка и настройка клиента Bee для сети Swarm на Windows
11.2. Возможные ошибки
Контрольные вопросы
12. База данных BigchainDB — блокчейн и хранилище данных на основе цепочки блоков
12.1. Введение в BigchainDB
12.2. Как работает BigchainDB?
12.3. Настройка BigchainDB на виртуальной машине VirtualBox с ОС Linux Ubuntu
12.4. Взаимодействие с BigchainDB из Python
Контрольные вопросы
13. Реализация простейшего блокчейн через Web API на Python
13.1. Установка и настройка виртуальной машины Oracle VM VirtualBox
13.2. Установка и настройка операционной системы Ubuntu
13.3. Скачивание проекта и установка библиотеки pipenv
13.4. Установка Postman
13.5. Обзор проекта
Контрольные вопросы
14. Настройка среды разработки Python и Web-фреймворка Flask в Docker-контейнере
Контрольные вопросы
Литература
Приложение. Задания для самостоятельной работы с советами по реализации смарт-контрактов
П.1. Контракт для процессинга платежей по продаже NFT-токенов
П.2. Голосование за кандидатов
П.3. Лотерея
Термины и определения




