. Эта команда запускает интерактивную консоль JavaScript, где мы сможем выдавать команды.

Подключаемся к нашему узлу

Теперь откройте вторую консоль и введите в ней следующую команду:


>$ geth –datadir node1 –networkid 98760 attach ipc://home/book/node1/geth.ipc


Эта команда откроет консоль geth и подключится к вашему приватному узлу.

Здесь необходимо указать те же значения параметров datadir и networked, что и при запуске узла. Команда attach подключается к узлу, адрес которого задан после нее, и запускает интерактивную консоль JavaScript. В адресе нам нужно указать полный путь к рабочему каталогу нашего приватного блокчейна.

Запишите команду подключения в файл attach_node.sh для удобства (листинг 2.3.).

>Листинг 2.3. Файл attach_node.sh


>geth –datadir node1 –networkid 98760 attach ipc://home/book/node1/geth.ipc


Теперь запустите этот файл, и вы увидите приглашение консоли geth:



>$ sh attach_node.sh

>Welcome to the Geth JavaScript console!


>instance: Geth/v1.8.22-stable-7fa3509e/linux-amd64/go1.10.4

>coinbase: 0x3cd46aab0631305437842cf639218e41ce946baa

>at block: 379 (Wed, 13 Feb 2019 09:12:48 PST)

>datadir: /home/book/node1

>modules: admin:1.0 debug:1.0 eth:1.0 ethash:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 txpool:1.0 web3:1.0


>>


Введите в этом приглашении команду web3.eth.accounts:


>> web3.eth.accounts

>["0x4f744742ac711fd111c7a983176db1d48d29f413"]


Вы увидите идентификатор (адрес) аккаунта, который мы создали ранее, указав для него пароль. У вас этот идентификатор будет другой.

Попробуйте также ввести команду 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]