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

Тут можно читать онлайн Александр Фролов - Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство - бесплатно ознакомительный отрывок. Жанр: comp-programming, год 2019. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    2019
  • ISBN:
    нет данных
  • Рейтинг:
    5/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

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

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

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

Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Александр Фролов
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

# apt-get install vim

# apt-get install sudo

# apt-get install git

Создайте пользователя book и при помощи команды visudo добавьте этому пользователю возможность работать с командой sudo, как мы это делали на предыдущем уроке.

Установка Go

Мы будем работать с Go версии 1.9.6. Установка для Rasbian очень похожа на установку для Debian, однако вам потребуется дистрибутив, рассчитанный на архитектуру процессора ARM.

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

Как мы уже говорили, дистрибутивы Go различных версий и для различных платформ можно найти здесь: https://golang.org/dl/.

Подключимся к нашему микрокомпьютеру Raspberry Pi пользователем book и загрузим архив Go нужной версии:

$ curl -O https://dl.google.com/go/go1.9.6.linux-armv6l.tar.gz

Как и на предыдущем уроке, вам нужно добавить возможность работать пользователю book с командой sudo, для чего нужно воспользоваться командой visudo.

Добавьте в конец файла /etc/sudoers строку:

book ALL=(ALL) ALL

Подключитесь к консоли с правами пользователя book и распакуйте загруженный архив в каталог /usr/local:

$ sudo tar -C /usr/local -xzf go1.9.6.linux-armv6l.tar.gz

Обратите внимание, что здесь мы распаковываем файл дистрибутива для процессоров ARM.

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

Создайте в домашнем каталоге пользователя book каталог go и установите переменные окружения:

$ mkdir -p ~/go; echo "export GOPATH=$HOME/go" >> ~/.bashrc

$ echo "export PATH=$PATH:$HOME/go/bin:/usr/local/go/bin" >> ~/.bashrc

$ source ~/.bashrc

Проверьте, что переменные окружения установлены:

$ printenv | grep go

GOPATH=/root/go

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/go/bin:/usr/local/go/bin

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

Прежде чем перейти собственно к установке Geth и Swarm, нужно проверить версию go. Теперь должно быть указано, что установлена версия 1.9.6 для процессоров ARM:

$ go version

go version go1.9.6 linux/arm

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

Установка Geth и Swarm выполняется аналогично тому, как мы это делали на предыдущем уроке.

Загрузите исходный код Geth из репозитория на GitHub:

$ mkdir -p $GOPATH/src/github.com/ethereum

$ cd $GOPATH/src/github.com/ethereum

$ git clone https://github.com/ethereum/go-ethereum

$ cd go-ethereum

$ git checkout master

$ go get github.com/ethereum/go-ethereum

Запустите компиляцию клиента Geth и Swarm:

go install -v ./cmd/geth

go install -v ./cmd/swarm

Если при компиляции появились ошибки, попробуйте установить Go другой версии. Перед этим удалите все каталоги, созданные в процессе предыдущей установки.

Если же все хорошо, то осталось только проверить версию установленного Geth и Swarm:

$ geth version

Geth

Version: 1.8.9-unstable

Architecture: arm

Protocol Versions: [63 62]

Network Id: 1

Go Version: go1.9.6

Operating System: linux

GOPATH=/home/book/go

GOROOT=/usr/local/go

$ swarm version

Swarm

Version: 1.8.9-unstable

Network Id: 0

Go Version: go1.9.6

OS: linux

GOPATH=/home/book/go

GOROOT=/usr/local/go

Обратите внимание, что команда geth version сообщает о том, что она работает на процессоре с архитектурой ARM.

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

На предыдущем уроке мы создавали приватный блокчейн, подготовив для него первичный блок в файле genesis.json. Затем мы создали в домашнем каталоге пользователя book рабочий каталог node1, создали аккаунт, запустили инициализацию узла и, наконец, запустили узел нашего блокчейна. При этом был создан файл DAG с направленным ациклическим графом и запущен майнинг. В другой консоли мы подключились к нашему узлу и выдали там несколько команд Web3.

На этот раз мы сделаем все намного проще. Создадим рабочий каталог node1 для размещения данных блокчейна:

$ mkdir node1

Теперь запустим узел приватной сети при помощи следующей команды:

$ geth –datadir node1 –networkid 98760 –dev –rpc –rpcapi="db,eth,net,web3,personal,web3" console

В окне консоли появятся сообщения о запуске узле сети.

Сохраните команду запуска узла в пакетном файле с именем start_node.sh (листинг 3.1.).

Листинг 3.1. Файл start_node.sh

geth –datadir node1 –networkid 98760 –dev –rpc –rpcapi="db,eth,net,web3,personal,web3" console

Обратите внимание, что мы указали здесь те же значения параметров datadir, networked, rpc и rpcapi, что и на предыдущем уроке.

Для подключения к запущенному таким способом узлу вы можете использовать ту же самую команду, что и раньше:

$ geth –datadir node1 –networkid 98760 attach ipc://home/book/node1/geth.ipc

Запишите команду подключения в файл attach_node.sh для удобства (листинг 3.2.).

Листинг 3.2. Файл attach_node.sh

geth –datadir node1 –networkid 98760 attach ipc://home/book/node1/geth.ipc

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

Запустите файл attach_node.sh и в приглашении консоли Geth введите команду accounts:

> web3.eth.accounts

["0xd902f8405a6108e8bd9343d1bfccf21a081d2897"]

Оказывается, в нашем тестовом узле уже определен пользователь, хотя мы не создавали его явным образом и не задавали пароль, как на прошлом уроке. У этого пользователя пустой пароль.

Попробуйте также ввести команду web3.version:

> web3.version

{

api: "0.20.1",

ethereum: "0x3f",

network: "98760",

node: "Geth/v1.8.9-unstable/linux-arm/go1.9.6",

whisper: "6.0",

getEthereum: function(callback),

getNetwork: function(callback),

getNode: function(callback),

getWhisper: function(callback)

}

Здесь будут показаны те же самые данные приватной сети, что и на предыдущем уроке.

Проверьте текущий баланс при помощи следующей команды:

> web3.fromWei( eth.getBalance(eth.coinbase) )

1.15792089237316195423570985008687907853269984665640564039457584007913129639927e+59

Как видите, на нашем аккаунте есть уже довольно много монет Ether, хотя мы и не запускали майнинг явным образом. Это все благодаря тестовому режиму geth, выбранному с помощью параметра –dev.

Итоги урока

На третьем уроке вы научились устанавливать узел приватного блокчейна Ethereum на микрокомпьютер Raspberry Pi 3, обладающего оперативной памятью размеров всего 1 Гбайт.

Хотя на этом компьютере не удается запустить майнинг утилитой Geth, вы использовали параметр –dev для создания тестового узла. На таком узле майнинг запускать не нужно, т.к. там уже предусмотрен аккаунт с очень большим балансом.

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

Цель урока: научиться просматривать список аккаунтов, создавать новые аккаунты, познакомиться с криптовалютными единицами в сети Ethereum, а также научиться переводить средства с одного аккаунта на другой с помощью транзакции из консоли Geth.

Практические задания: нужно просмотреть список аккаунтов, добавить новый аккаунт и перевести на него средства с другого аккаунта. Далее нужно посмотреть состояние транзакции и получить ее квитанцию.

К четвертому уроку мы подготовили серверы Ubuntu и Debian и установили на них Go Ethereum (программу Geth), создали узел приватной сети. Мы проделали аналогичную операцию с микрокомпьютером Raspberry Pi 3, установив на него ОС Rasberian и Geth для запуска сети в тестовом режиме с параметром –dev.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Александр Фролов читать все книги автора по порядку

Александр Фролов - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


Отзывы читателей о книге Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство, автор: Александр Фролов. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x