Читать книгу Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство - Александр Вячеславович Фролов - Страница 20
Урок 2. Подготовка рабочей среды в ОС Ubuntu и Debian
Создаем приватный блокчейн
Подключаемся к нашему узлу
ОглавлениеТеперь откройте вторую консоль и введите в ней следующую команду:
$ 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)
}