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

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

Оглавление

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


> 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-интерфейс вашего личного кабинета.

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

Подняться наверх