Работая с блокчейном, используя основной клиент (кошелёк, wallet, core) в какой-то момент понимаешь, что использовать команды в консоли довольно интересно и, часто, только с помощью консоли можно увидеть массу интересного и полезного, того, что скрывается внутри за ширмой стандартных функций.
А в случае если вы работаете с кошельком в операционной системе без графического интерфейса, консольные команды это всё что вы сможете использовать.

Итак, вы установили и запустили свой кошелёк (официальный клиент) (пример с DOGE в Linux: ./dogecoind -daemon) и ваш кошелёк открылся (в системе с графическим интерфейсом, например Windows — будем рассматривать её, всё равно все команды одинаковые). В открывшемся кошельке находите в меню консоль и, например вам нужно добавить известную ноду для ускорения синхронизации.
Для этого есть команда addnode. Предположим вы хотите добавить ноду доже патруля 91.200.41.32 — команда будет выглядеть так: addnode 91.200.41.32 add и после того как вы её введёте и нажмёте ввод (Enter) клиент напишет вам в ответ null, что означает — нода добавлена. Если же вы повторно введёте ту же самую ноду во время того же сеанса работы клиента то получите в ответ «Error: Node already added (code -23)», что предупреждает вас о повторной, бесполезной по сути, операции.

addnode sample
на этом изображении я показал пример добавления ноды (узла) для кошелька MOONcoin

Добавив качественные ноды можно значительно ускорить синхронизацию кошелька, но не забывайте, что если ваш компьютер подключен через роутер то больше 8-11 узлов он не подключит физически. Если же говорить о клиенте который находится на сервере в дата-центре то там по умолчанию активно до 128 подключений.

Кстати, бывает интересно узнать, сколько у вас подключений. Для этого используем getconnectioncount
В Linux ./dogecoin-cli getconnectioncount — в ответ вы получите целое число, значение равное количеству подключений.
Продолжая тему подключений — можно изучить тех кто к вам подключен. Вводим getpeerinfo и получаем инфо по каждому пиру (peer), тут ниже мы рассмотрим один:

{
«id»: 0, — уникальнй номер присваевается вашим клиентом однажды на всё время работы кошелька;
«addr»: «91.200.41.32», — ip-адрес ноды/пира который подключен к вашему клиенту;
«addrlocal»: «46.219.238.230:41899», — ip-адрес вашего компьютера;
«addrbind»: «100.64.74.72:1361», — ваш внутрисетевой адрес (в маршрутизаторе провайдера)
«services»: «000000000000040d»,
«relaytxes»: true,
«lastsend»: 1623183925,
«lastrecv»: 1623183925,
«bytessent»: 23932,
«bytesrecv»: 131668,
«conntime»: 1623170241,
«timeoffset»: 2,
«pingtime»: 0.003501, — пинг пира;
«minping»: 0.0025, — минимальный зафиксированный пинг пира;
«version»: 70017, — версия вашего клиента (кошелька);
«subver»: «/MooncoinCore:0.17.1/», — полное значение версии клиента;
«inbound»: false,
«addnode»: true, — нода добавлена;
«startingheight»: 2208219, — нода была добавлена на этом блоке и с него начался обмен данными между узлами;
«banscore»: 0, — значение указывает забанили вы ноду или нет (если да, указано время в секундах или постоянный бан);
«synced_headers»: 2208362, — отображает значение синхронизации заголовков пира;
«synced_blocks»: 2208362, — отображает значение синхронизации блоков пира (в идеале должны быть самые последние и равно с заголовками);
«inflight»: [
],
«whitelisted»: false,
«bytessent_per_msg»: {
«addr»: 165,
«feefilter»: 32,
«getaddr»: 24,
«getblocktxn»: 58,
«getdata»: 5311,
«getheaders»: 1117,
«headers»: 8636,
«inv»: 951,
«ping»: 3680,
«pong»: 3680,
«sendcmpct»: 99,
«sendheaders»: 24,
«verack»: 24,
«version»: 131
},
«bytesrecv_per_msg»: {
«addr»: 3860,
«block»: 50282,
«blocktxn»: 280,
«cmpctblock»: 48981,
«feefilter»: 32,
«getheaders»: 1117,
«headers»: 13147,
«inv»: 671,
«ping»: 3680,
«pong»: 3680,
«sendcmpct»: 66,
«sendheaders»: 24,
«tx»: 5693,
«verack»: 24,
«version»: 131
}

Итак, мы изучили всех подключенных к нам peer, знаем их адреса, версии клиентов и массу прочей информации. Давайте попробуем ещё что-то.
Самая что ни на есть базовая команда — getblockchaininfo введём её и изучим ответ:

{
«chain»: «main»,
«blocks»: 2208374, — загруженные блоки;
«headers»: 2208374, — загруженные заголовки;
«bestblockhash»: «2bfd1ed300dbf658c4c64d1be2b6767bdf4fd71fb85376c0faa5555b2391»,
«difficulty»: 495.62658788774, — сложность сети в момент проверки;
«mediantime»: 1623184976,
«verificationprogress»: 0.9999794294835841,
«initialblockdownload»: false,
«chainwork»: «00000000000000000000000000000000000000000000000022e73bc92457bd87», — блок в работе;
«size_on_disk»: 1868263639, — размер блокчейна на диске;
«pruned»: false,
«softforks»: [
{
«id»: «bip34»,
«version»: 2,
«reject»: {
«status»: true
}
},
{
«id»: «bip66»,
«version»: 3,
«reject»: {
«status»: true
}
},
{
«id»: «bip65»,
«version»: 4,
«reject»: {
«status»: true
}
}
],
«bip9_softforks»: {
«csv»: {
«status»: «active»,
«startTime»: 1517097600,
«timeout»: 1553990400,
«since»: 1256640
},
«segwit»: {
«status»: «active»,
«startTime»: 1517097600,
«timeout»: 1553990400,
«since»: 1263360
}
},
«warnings»: «»
}

Проверили блокчейн, самое время проверить баланс! Команда интуитивно понятна getbalance — выдаст значение сумму монет находящуюся в кошельке.

… на этом пока сделаю паузу. Позже продолжу знакомить вас с командами в блокчейн
подсыпайте DOGE на этот адрес :) : DQpTvKgaojHE3NpaXrdQMDHeCNvZRsx7MG


Добавить комментарий