Размер шрифта
-
+

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


>$ geth –datadir node1 account new


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


>INFO [02-13|08:42:28.798] Maximum peer count                       ETH=25 LES=0 total=25

>Your new account is locked with a password. Please give a password. Do not forget this password.

>Passphrase:

>Repeat passphrase:

>Address: { 4f744742ac711fd111c7a983176db1d48d29f413 }


Команда account new выведет на консоль в фигурных скобках так называемый адрес узла. В нашем случае это адрес 4f744742ac711fd111c7a983176db1d48d29f413. Мы будем указывать его в различных командах.

Параметр datadir команды geth указывает путь к рабочему каталогу. Мы используем каталог /home/book/node1.

Запускаем инициализацию узла

После создания аккаунта нам нужно выполнить инициализацию узла, выполняем ее из домашнего каталога пользователя book:


>$ geth –datadir node1 init genesis.json


Здесь мы с помощью параметра datadir должны указать путь к рабочему каталогу, а в параметре init – путь к файлу первичного блока genesis.json.

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


>INFO [02-13|08:43:53.934] Maximum peer count                       ETH=25 LES=0 total=25

>INFO [02-13|08:43:53.936] Allocated cache and file handles         database=/home/book/node1/geth/chaindata cache=16 handles=16

>INFO [02-13|08:43:53.950] Writing custom genesis block

>INFO [02-13|08:43:53.950] Persisted trie from memory database      nodes=0 size=0.00B time=28.058µs gcnodes=0 gcsize=0.00B gctime=0s livenodes=1 livesize=0.00B

>INFO [02-13|08:43:53.951] Successfully wrote genesis state         database=chaindata                       hash=a5e5bc…3f490e

>INFO [02-13|08:43:53.951] Allocated cache and file handles         database=/home/book/node1/geth/lightchaindata cache=16 handles=16

>INFO [02-13|08:43:53.955] Writing custom genesis block

>INFO [02-13|08:43:53.955] Persisted trie from memory database      nodes=0 size=0.00B time=1.778µs  gcnodes=0 gcsize=0.00B gctime=0s livenodes=1 livesize=0.00B

>INFO [02-13|08:43:53.956] Successfully wrote genesis state         database=lightchaindata                       hash=a5e5bc…3f490e


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

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


>$ geth –etherbase "0x4f744742ac711fd111c7a983176db1d48d29f413" –datadir node1 –nodiscover –mine –minerthreads 1 –maxpeers 0 –verbosity 3 –networkid 98760 –rpc –rpcapi="db,eth,net,web3,personal,web3" console


В качестве параметра –etherbase нужно ввести адрес узла, полученный при первоначальном создании аккаунта.

На экране появится множество сообщений о ходе инициализации. В ходе этого процесса будет запущена генерация файла DAG. Вам нужно будет дождаться завершения процесса генерации:


>INFO [02-13|08:51:16.647] Maximum peer count                       ETH=0 LES=0 total=0

>INFO [02-13|08:51:16.649] Starting peer-to-peer node               instance=Geth/v1.8.22-stable-7fa3509e/linux-amd64/go1.10.4

>INFO [02-13|08:51:16.649] Allocated cache and file handles         database=/home/book/node1/geth/chaindata cache=512 handles=524288

>INFO [02-13|08:51:16.662] Initialised chain configuration          config="{ChainID: 1999 Homestead: 0 DAO: DAOSupport: false EIP150: EIP155: 0 EIP158: 0 Byzantium: Constantinople:   ConstantinopleFix: Engine: unknown}"

Страница 11