Нараян Прасти



Download 9,22 Mb.
Pdf ko'rish
bet19/47
Sana26.02.2022
Hajmi9,22 Mb.
#472912
1   ...   15   16   17   18   19   20   21   22   ...   47
Bog'liq
Прасти Н. - Блокчейн. Разработка приложений - 2018


главах. 
Подкоманды и опции 
Давайте познакомимся на примерах с важными подкомандами и опциями команд 
Geth. Вы можете получить перечень всех подкоманд и опций при помощи под- 
команды 
help
. Мы расскажем намного больше про Geth и его команды в следую-
щих главах. 
Подключение к сети 
mainnet
Узлы сети Ethereum по умолчанию общаются через порт 30303. Но узлы имеют 
право выбрать любой другой порт. 
Для подключения к сети 
mainnet
вам достаточно выполнить команду 
geth
. Вот 
пример того, как в явном виде указать идентификатор сети и пользовательский
каталог, в котором будет храниться скачанный блокчейн: 
geth --datadir "/users/packt/ethereum" --networkid 1 
Опция 
--datadir
указывает путь к месту хранения блокчейна. Если он не указан, то 
по умолчанию используется путь 
$HOME/.ethereum

Опция
--networkid
указывает идентификатор сети. Номер 
1
соответствует сети 
mainnet
. Если номер не указан, то по умолчанию используется 
1
. Идентификатор 
сети 
testnet
— 
2

Создание частной сети 
Для создания частной сети вам достаточно указать случайный идентификатор.
Частные сети обычно создают для нужд отладки. Geth располагает различными 
флагами для логирования и отладки, что полезно во время разработки. Поэтому, 
10
Remote Procedure Call (RPC) — протокол удаленного вызова процедур, не сохраняющий содержа-
ние вызова. 


Глава 2 
____________________________________ 
[ 58 ] 
___________________________________ 
вместо задания случайного идентификатора сети и настройки различных флагов 
логирования и отладки, вы можете просто использовать опцию 
--dev
, которая
запустит частную сеть с уже включенными флагами. 
Создание аккаунта 
Geth позволяет создавать счета (аккаунты), т. е. генерировать ключи и связанные 
с ними адреса. Для создания счета используйте команду: 
geth account new 
Когда вы запустите эту команду, вас попросят ввести пароль для шифрования сче-
та. Если вы забудете ваш пароль, не останется ни малейшего шанса вернуть доступ 
к своему счету. 
Чтобы получить список всех счетов в вашем локальном кошельке, используйте
команду: 
geth account list 
Эта команда выведет на печать список адресов всех счетов. Ключи по умолчанию 
хранятся в каталоге, заданном опцией 
--datadir
, но вы можете использовать
опцию 
–keystore
, чтобы назначить другой каталог. 
Майнинг 
По умолчанию Geth не запускает процесс майнинга. Чтобы дать Geth команду на-
чать майнинг, нужно использовать опцию 
--mine
. Вот еще несколько опций, отно-
сящихся к майнингу: 
geth --mine --minerthreads 16 --minergpus '0,1,2' --etherbase 
'489b4e22aab35053ecd393b9f9c35f4f1de7b194' --unlock 
'489b4e22aab35053ecd393b9f9c35f4f1de7b194'
Здесь после опции 
--mine
мы указали несколько других опций: 
опция 
--minerthreads
означает общее количество потоков, задействованных при 
хешировании. По умолчанию используются восемь потоков
11

опция 
--etherbase
означает адрес (счет), на который будет поступать вознагра-
ждение. По умолчанию счет зашифрован. Чтобы получить доступ к эфиру на ба-
лансе, мы должны расшифровать счет. Расшифровка нужна, чтобы расшифро-
вать закрытый ключ, ассоциированный со счетом. Чтобы начать майнинг, нам 
нет необходимости расшифровывать ключ, потому что для получения вознагра-
ждения достаточно лишь указать адрес; 
при помощи опции 
--unlock
можно разблокировать один или несколько счетов. 
Несколько адресов разделяются запятыми; 
11
В версии 1.7.2 по умолчанию запускаются четыре потока. 


Принципы работы Ethereum 
____________________________________ 
[ 59 ] 
___________________________________ 
опция 
--minergpus
используется, чтобы перечислить видеокарты (GPU), которые 
заняты в майнинге. Чтобы получить список доступных видеокарт, используйте 
команду 
geth gpuinfo
. На каждую видеокарту должно приходиться 1–2 Гбайт 
оперативной памяти компьютера. По умолчанию используются не видеокарты,
а центральный процессор компьютера (CPU). 
Быстрая синхронизация 
На момент подготовки этой книги размер блокчейна составлял примерно 30 Гбайт
12

Скачивание такого объема данных может занять несколько часов или даже дней, 
если у вас медленное подключение к Интернету. Для Ethereum реализован алго-
ритм быстрой синхронизации, который может ускорить скачивание блокчейна. 
Для быстрой синхронизации не требуется скачивание полных блоков — загружа-
ются только заголовки блоков, квитанции транзакций и недавняя база данных со-
стояний. Иными словами, нам не надо скачивать и воспроизводить все транзакции. 
Для проверки целостности блокчейна алгоритм скачивает один полный блок через 
каждое определенное количество блоков. Вы можете прочитать больше про алго-
ритм быстрой синхронизации по адресу: 
https://github.com/ethereum/go-ethereum/ 
pull/1889

Чтобы воспользоваться быстрой синхронизацией при скачивании блокчейна, сле-
дует при запуске Geth воспользоваться опцией 
--fast
13

В целях безопасности быстрая синхронизация разрешена только при начальной 
синхронизации (т. е., когда собственный блокчейн узла пуст). После того как узел 
успешно синхронизировался с сетью, быстрая синхронизация навсегда отключает-
ся. В качестве дополнительного средства безопасности, если сбой синхронизации 
произошел рядом с точкой ветвления или сразу после нее, быстрая синхронизация 
отключается, и узел переходит в режим полной синхронизации с обработкой всех 
блоков. 
Ethereum Wallet 
Ethereum Wallet (бумажник) — это приложение-клиент пользовательского интер-
фейса Ethereum, позволяющее создавать аккаунт, отправлять эфир, разворачивать 
контракты, вызывать методы контрактов и многое другое. На рис. 2.1 показано, как 
выглядит окно Ethereum Wallet. 
Ethereum Wallet работает в паре с Geth. Когда вы запускаете Ethereum Wallet, он 
пытается найти локальный экземпляр Geth и соединиться с ним. Если он не нахо-
дит работающий Geth, то запускает собственный узел Geth. Ethereum Wallet обме-
12
На момент подготовки перевода размер блокчейна вырос до 108 Гбайт. Данные получены на сайте: 
https://bitinfocharts.com/ethereum/

13
В новой версии Geth следует использовать опцию 
--syncmode "fast"
.


Download 9,22 Mb.

Do'stlaringiz bilan baham:
1   ...   15   16   17   18   19   20   21   22   ...   47




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish