1 ...8 9 10 12 13 14 ...19 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.
На предыдущем уроке вы научились создавать свой приватный блокчейн Ethereum на сервере с ОС Ubuntu и Debian. Возможно, для первых опытов и отладки смарт-контрактов вам больше подойдет очень недорогой микрокомпьютер Raspberry Pi 3 (или его более новая модель Raspberry Pi 3 model B), который создавался как раз для обучения.
Читать дальше