Чтение онлайн

на главную - закладки

Жанры

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

Попробуйте также ввести команду web3.version. Эта команда позволяет посмотреть версию фреймворка Web3, с помощью которого мы будем работать с контрактами, версию geth, а также номер сети. Мы задали номер нашей приветной сети, равный 98760.

Для стабильного релиза Geth версии 1.8.22 на консоль будет выведено сообщение:

> web3.version

{

 api: "0.20.1",

 ethereum: "0x3f",

 network: "98760",

 node: "Geth/v1.8.22-stable-7fa3509e/linux-amd64/go1.10.4",

 whisper: undefined,

 getEthereum: function(callback),

 getNetwork: function(callback),

 getNode: function(callback),

 getWhisper: function(callback)

}

Использование

нестабильной версии Geth будет отмечено в поле node:

> web3.version

{

 api: "0.20.1",

 ethereum: "0x3f",

 network: "98760",

 node: "Geth/v1.8.11-unstable/linux-amd64/go1.9.6",

 whisper: undefined,

 getEthereum: function(callback),

 getNetwork: function(callback),

 getNode: function(callback),

 getWhisper: function(callback)

}

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

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

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

0

Позже мы опишем экономику Ethereum и эти команды детальнее.

Сразу после инициализации сети баланс нашего аккаунта равен нулю. Однако по мере того, как будут «добыты» новые блоки, баланс будет расти:

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

15

В первой консоли, где мы запустили узел, добавление каждого блока будет отмечено такими сообщениями:

INFO [02-13|09:37:10.577]
block reached canonical chain number=45 hash=924ce1…d8b5a2

INFO [02-13|09:37:10.577]
mined potential block number=52 hash=a80a36…153593

INFO [02-13|09:37:10.577] Commit new mining work number=53 sealhash=3acb6c…0ecd19 uncles=0 txs=0 gas=0 fees=0 elapsed=130.557µs

INFO [02-13|09:37:11.223] Successfully sealed new block number=53 sealhash=3acb6c…0ecd19 hash=14e0fa…575494 elapsed=645.999ms

INFO [02-13|09:37:11.223]
block reached canonical chain number=46 hash=c5ff7a…da8069

INFO [02-13|09:37:11.224]
mined potential block number=53 hash=14e0fa…575494

INFO [02-13|09:37:11.224] Commit new mining work number=54 sealhash=96235b…f3fc50 uncles=0 txs=0 gas=0 fees=0 elapsed=124.053µs

INFO [02-13|09:37:11.723] Successfully sealed new block number=54 sealhash=96235b…f3fc50 hash=e5438e…2f6f2e elapsed=498.975ms

С

помощью команд miner.start и miner.stop можно запускать и останавливать майнинг.

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

> miner.start(4)

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

Заметим, что при отладке смарт-контрактов процесс майнинга останавливать не нужно, иначе ваш узел не сможет обрабатывать транзакции, публиковать контракты и вызывать методы контрактов. Тем не менее, вы всегда сможете остановить майнинг с помощью такой команды:

> miner.stop

Если скорость майнинга недостаточна и вам приходится ждать появления новых блоков более 20-30 секунд, попробуйте увеличить размер оперативной памяти и количество процессорных ядер на виртуальной машине. Облачные хостинги, как правило, позволяют сделать это очень просто через Web-интерфейс вашего личного кабинета.

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

Для завершения работы Geth введите в приглашении команду exit:

> exit

Итоги урока

На втором уроке вы подготовили рабочую среду, необходимую для дальнейшего изучения Ethereum и смарт-контрактов Solidity. Вы создали сервер с ОС Ubuntu или Debian, установили Go, Geth и программу распределенного хранилища данных Swarm.

Далее вы создали приватный блокчейн, состоящий из одного узла, выполнили инициализацию этого узла и убедились, что в вашем блокчейне работает майнинг. Вы научились запускать свой узел Ethereum и подключаться к нему в консоли. Вы также научились выдавать простейшие консольные команды Geth и теперь готовы для первых экспериментов с вашим приватным блокчейном.

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

Цель урока: создать узел собственного приватного блокчейна Ethereum для дальнейшей работы в рамках этого курса на микрокомпьютере Raspberry Pi 3 с операционной системой Rasberian. Изучить способ запуска узла приватной сети Ethereum при помощи параметра –dev утилиты Geth.

Практические задания: установка операционной системы Rasberian на Raspberry Pi 3, установка ПО Geth, обеспечивающего работу узла нашего блокчейна, а также демона децентрализованного хранилища данных Swarm. Запуск узла приватного блокчейна Ethereum с помощью параметра –dev утилиты geth.

Поделиться:
Популярные книги

Контракт с подонком

Рам Янка
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Контракт с подонком

Ваше Сиятельство 6

Моури Эрли
6. Ваше Сиятельство
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Ваше Сиятельство 6

Виконт. Книга 3. Знамена Легиона

Юллем Евгений
3. Псевдоним `Испанец`
Фантастика:
фэнтези
попаданцы
аниме
7.00
рейтинг книги
Виконт. Книга 3. Знамена Легиона

Бракованная невеста. Академия драконов

Милославская Анастасия
Фантастика:
фэнтези
сказочная фантастика
5.00
рейтинг книги
Бракованная невеста. Академия драконов

Промышленникъ

Кулаков Алексей Иванович
3. Александр Агренев
Приключения:
исторические приключения
9.13
рейтинг книги
Промышленникъ

Сумеречный Стрелок 5

Карелин Сергей Витальевич
5. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный Стрелок 5

Кодекс Охотника. Книга XV

Винокуров Юрий
15. Кодекс Охотника
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XV

На границе империй. Том 7. Часть 2

INDIGO
8. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
6.13
рейтинг книги
На границе империй. Том 7. Часть 2

Я еще князь. Книга XX

Дрейк Сириус
20. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я еще князь. Книга XX

Диверсант

Вайс Александр
2. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Диверсант

Вернуть невесту. Ловушка для попаданки

Ардова Алиса
1. Вернуть невесту
Любовные романы:
любовно-фантастические романы
8.49
рейтинг книги
Вернуть невесту. Ловушка для попаданки

Возвышение Меркурия. Книга 13

Кронос Александр
13. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 13

Под маской, или Страшилка в академии магии

Цвик Катерина Александровна
Фантастика:
юмористическая фантастика
7.78
рейтинг книги
Под маской, или Страшилка в академии магии

На границе империй. Том 9. Часть 5

INDIGO
18. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 5