Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство

Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство
Автор книги: id книги: 1256987     Оценка: 0.0     Голосов: 0     Отзывы, комментарии: 0 349 руб.     (3,81$) Читать книгу Купить и скачать книгу Купить бумажную книгу Электронная книга Жанр: Программирование Правообладатель и/или издательство: ЛитРес: Самиздат Дата публикации, год издания: 2019 Дата добавления в каталог КнигаЛит: Скачать фрагмент в формате   fb2   fb2.zip Возрастное ограничение: 12+ Оглавление Отрывок из книги

Реклама. ООО «ЛитРес», ИНН: 7719571260.

Описание книги

Эта книга поможет быстро приступить к созданию смарт-контактов Solidity и распределенных приложений DApp для блокчейна Ethereum. Она состоит из 12 уроков с практическими заданиями. Выполнив их, читатель сможет создавать собственные локальные узлы Ethereum, публиковать смарт-контракты и вызывать их методы, обмениваться данными между реальным миром и смарт-контрактами с помощью оракулов, работать с сетью Rinkeby. Книга адресована всем, кто интересуется передовыми технологиями в области блокчейнов и хочет быстро получить знания, позволяющие заниматься интересной и перспективной работой.

Оглавление

Александр Вячеславович Фролов. Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство

Введение

Обратная связь

Урок 1. Кратко о блокчейне и сети Ethereum

Что такое блокчейн

Распределенная база данных

Распределенный реестр данных

Транзакции

Публичные и приватные блокчейны

Практические применения блокчейна

Проблемы с блокчейном

Как формируется цепочка блокчейна

Блокчейн Ethereum

Майнинг, или Как создаются блоки

Итоги урока

Урок 2. Подготовка рабочей среды в ОС Ubuntu и Debian

Выбор операционной системы

Установка необходимых утилит

Установка Geth и Swarm в Ubuntu

Установка Geth и Swarm в Debian

Предварительная подготовка

Загрузка дистрибутива Go

Установка переменных окружения

Проверка версии Go

Установка Geth и Swarm

Создаем приватный блокчейн

Готовим файл genesis.json

Создаем каталог для работы

Создаем аккаунт

Запускаем инициализацию узла

Параметры запуска узла

Подключаемся к нашему узлу

Управление майнингом и проверка баланса

Завершение работы консоли Geth

Итоги урока

Урок 3. Подготовка рабочей среды на Raspberry Pi 3

Подготовка Raspberry Pi 3 к работе

Установка Rasberian

Установка обновлений

Включение доступа SSH

Установка статического адреса IP

Установка необходимых утилит

Установка Go

Загрузка дистрибутива Go

Установка переменных окружения

Проверка версии Go

Установка Geth и Swarm

Создаем приватный блокчейн

Проверка учетной записи и баланса

Итоги урока

Урок 4. Учетные записи и перевод средств между аккаунтами

Просмотр и добавление аккаунтов

Просмотр списка аккаунтов

Добавление аккаунта

Параметры команды geth account

Пароли аккаунтов

Криптовалюта в Ethereum

Перевод средств с одного аккаунта на другой

Метод eth.sendTransaction

Просмотр состояния транзакции

Квитанция транзакции

Итоги урока

Урок 5. Публикация первого контракта

Смарт-контракты в Ethereum

Выполнение смарт-контракта

Виртуальная машина Ethereum

Интегрированная среда разработки Remix Solidity IDE

Запуск компиляции

Вызов функций контракта

Публикация контракта в приватной сети

Получаем определение ABI и двоичный код контракта

Публикация контракта

Проверка состояния транзакции публикации контракта

Вызов функций контракта

Пакетный компилятор solc

Установка solc в Ubuntu

Установка solc в Debian

Компиляция контракта HelloSol

Публикация контракта

Установка solc на Rasberian

Итоги урока

Урок 6. Смарт-контракты и Node.js

Установка Node.js

Установка в Ubuntu

Установка в Debian

Установка и запуск Ganache-cli

Установка Web3

Установка solc

Установка Node.js на Rasberian

Скрипт для получения списка аккаунтов в консоли

Скрипт для публикации смарт-контракта

Запуск и получение параметров

Получение параметров запуска

Компиляция контракта

Разблокировка аккаунта

Загрузка ABI и бинарного кода контракта

Оценка необходимого количества газа

Создание объекта и запуск публикации контракта

Запуск скрипта публикации контракта

Вызов функций смарт-контракта

Возможно ли обновление опубликованного смарт-контракта

Работа с Web3 версии 1.0.x

Получаем список аккаунтов

Публикация контракта

Вызов функций контракта

Перевод средств с одного аккаунта на другой

Перевод средств на аккаунт контракта

Обновляем смарт-контракт HelloSol

Создаем скрипт для просмотра баланса аккаунта

Добавляем вызов функции getBalance в скрипт call_contract_get_promise.js

Пополняем счет смарт-контракта

Итоги урока

Урок 7. Введение в Truffle

Установка Truffle

Создаем проект HelloSol

Создание каталога и файлов проекта

Каталог contracts

Каталог migrations

Каталог test

Файл truffle-config.js

Компиляция контракта HelloSol

Запуск публикации контракта

Вызов функций контракта HelloSol в приглашении Truffle

Вызов функций контракта HelloSol из скрипта JavaScript под управлением Node.js

Установка модуля truffle-contract

Вызов функций контракта getValue и getString

Вызов функций контракта setValue и setString

Изменение контракта и повторная публикация

Работа с Web3 версии 1.0.x

Вносим изменения в смарт-контракт HelloSol

Скрипты для вызова методов контракта

Тестирование в Truffle

Тест на Solidity

Тест на JavaScript

Итоги урока

Урок 8. Типы данных Solidity

Контракт для изучения типов данных

Логические типы данных

Беззнаковые целые числа и целые числа со знаком

Числа с фиксированной запятой

Адрес

Переменные сложных типов

Массивы фиксированного размера

Динамические массивы

Перечисление

Структуры

Словари mapping

Итоги урока

Урок 9. Миграция контрактов в приватную сеть и в сеть Rinkeby

Публикация контракта из Truffle в приватную сеть Geth

Подготовка узла приватной сети

Подготовка контракта для работы

Компиляция и миграция контракта в сеть Truffle

Запуск миграции в локальную сеть geth

Добываем артефакты Truffle

Публикация контракта из Truffle в тестовой сети Rinkeby

Подготовка узла Geth для работы с Rinkeby

Синхронизация узла

Добавление аккаунтов

Пополнение аккаунта Rinkeby эфиром

Запуск миграции контракта в сеть Rinkeby

Просмотр информации о контракте в сети Rinkeby

Консоль Truffle для сети Rinkeby

Более простой способ вызова функций контракта

Вызов методов контракта при помощи Node.js

Перевод средств между аккаунтами в консоли Truffle для Rinkby

Итоги урока

Урок 10. Децентрализованное хранилище данных Ethereum Swarm

Как работает Ethereum Swarm

Установка и запуск Swarm

Операции с файлами и каталогами

Загрузка файла в Ethereum Swarm

Чтение файла из Ethereum Swarm

Просмотр манифеста загруженного файла

Загрузка каталогов с подкаталогами

Чтение файла из загруженного каталога

Использование публичного шлюза Swarm

Обращение к Swarm из скриптов Node.js

Модуль Perl Net::Ethereum::Swarm

Установка модуля Net::Ethereum::Swarm

Запись и чтение данных

Итоги урока

Урок 11. Фреймворк Web3.py для работы с Ethereum на Python

Установка Web3.py

Обновление и установка необходимых пакетов

Установка модуля easysolc

Публикация контракта с помощью Web3.py

Компиляция контракта

Подключение к провайдеру

Выполнение публикации контракта

Сохранение адреса контракта и abi в файле

Запуск скрипта публикации контракта

Вызов методов контракта

Чтение адреса и abi контракта из файла JSON

Подключение к провайдеру

Создание объекта контракта

Вызов методов контракта

Truffle и Web3.py

Итоги урока

Урок 12. Оракулы

Может ли смарт-контракт доверять данным из внешнего мира

Оракулы как информационные посредники блокчейна

Источник данных

Код для представления данных из источника

Оракул для записи обменного курса в блокчейн

Контракт USDRateOracle

Обновление обменного курса в смарт-контракте

Использование провайдера Web Socket

Ожидание события RateUpdate

Обработка события RateUpdate

Инициирование обновления данных в смарт-контракте

Итоги урока

Отрывок из книги

Вы можете связаться с автором этой книги по адресам sbook@frolov-lib.ru или https://www.facebook.com/frolov.shop2you.

Пожалуйста, отправляйте ваши замечания и рекомендации, автор постарается их учесть при переиздании книги.

.....

Address: { 4f744742ac711fd111c7a983176db1d48d29f413 }

Команда account new выведет на консоль в фигурных скобках так называемый адрес узла. В нашем случае это адрес 4f744742ac711fd111c7a983176db1d48d29f413. Мы будем указывать его в различных командах.

.....

Добавление нового отзыва

Комментарий Поле, отмеченное звёздочкой  — обязательно к заполнению

Отзывы и комментарии читателей

Нет рецензий. Будьте первым, кто напишет рецензию на книгу Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство
Подняться наверх