Все о monerod - демоне Monero

Тема в разделе "Мануалы", создана пользователем Mr. Pickles, 20 дек 2019.

  1. Mr. Pickles

    Команда форума Модератор Редактор

    Регистрация:
    11 сен 2017
    Сообщения:
    718
    Симпатии:
    221
    Демон Monero называется monerod и поддерживает синхронизацию вашего компьютера с сетью Monero.

    Эта программа загружает блокчейн через p2p сеть и подтверждает его правильность.

    Программе не известны приватные ключи

    monerod никак не связан с вашим кошельком.

    monerod не имеет доступа к вашим приватным ключам, программе не известно ничего о ваших транзакциях и вашем балансе.

    Это позволяет использовать monerod на отдельном компьютере или в облаке.

    Фактически вы можете подсоединиться к удалённому monerod, доступ к которому будет обеспечивать полудоверенная третья сторона. У такой стороны не получится похитить ваши средства. Это очень удобно с точки зрения обучения и проведения экспериментов.

    Тем не менее использование удалённого не доверенного узла подразумевает возможные осложнения с точки зрения анонимности и надёжности. Если у вас свой бизнес, то следует использовать собственный полный узел.

    Синтаксис
    Код:
    ./monerod [options] [command]

    Работа демона определяется опциями. Их названия соответствуют шаблону --option-name.

    Команды обеспечивают доступ к определённым сервисам, обеспечиваемым демоном. Команды выполняются работающим демоном. Их названия соответствуют шаблону --command_name.

    Запуск

    Перейдите в директорию, в которую были распакованы файлы Monero.

    Для обучения и экспериментов следует использовать отладочную сеть.
    Код:
    ./monerod --stagenet --detach                # run as a daemon in background
    tail -f ~/.bitmonero/stagenet/bitmonero.log  # watch the logs
    ./monerod --stagenet exit                    # ask daemon to exit gracefully
    Основная сеть используется для реальных XMR.
    Код:
    ./monerod --detach                           # run as a daemon in background
    tail -f ~/.bitmonero/bitmonero.log           # watch the logs
    ./monerod exit                               # ask daemon to exit gracefully
    Опции

    Опции определяют работу демона. Их названия соответствуют шаблону --option-name.

    Опции сгруппированы для простоты понимания. Сам демон не группирует опции каким бы то ни было образом.

    Помощь и версия:

    ОпцияОписание
    --helpВыводит список доступных опций.
    --versionПоказывает версию monerod в stdout.
    Пример: Monero 'Boron Butterfly' (v0.14.0.0-release
    --os-versionПоказывает временную метку сборки и целевую операционную систему.
    Пример: OS: Linux #1 SMP PREEMPT Fri Aug 24 12:48:58 UTC 2018 4.18.5-arch1-1-ARCH

    Выбор сети:

    ОпцияОписание
    (отсутствует)По умолчанию monerod выбирает основную сеть.
    --stagenetЗапускает monerod в отладочной сети. Следует помнить, что кошелёк также запускается при помощи --stagenet.
    --testnetЗапускает monerod в тестовой сети. Следует помнить, что кошелёк также запускается при помощи --testnet.

    Регистрация (журнал событий):

    ОпцияОписание
    --log-fileПолный путь к регистрационному файлу. Пример (следует помнить о разрешениях файла):
    ./monerod --log-file=/var/log/monero/mainnet/monerod.log
    --log-levelОт 0 до 4, где 0 является минимальной регистрацией, а 4 полной трассировкой. По умолчанию установлена в нулевое значение. Это общие предварительные установки, и они не относятся напрямую к уровню серьёзности. Например, даже при минимальном нулевом значении вы можете увидеть самую важную информацию (INFO). Временное изменение значения на 1 позволяет лучше понять, как работает полный узел. Например:
    ./monerod --log-level=1
    --max-log-file-sizeЗапрограммированный выраженный в байтах предел для регистрационного файла (по умолчанию равен 104850000, что составляет менее 100 Мб). Как только размер регистрационного файла вырастет сверх этого предела, monerod создаст следующий регистрационный файл с постфиксной временной меткой в формате UTC: -YYYY-MM-DD-HH-MM-SS.
    При производстве вы, вероятно, вместо этого предпочтёте использовать проверенные решения, такие как logrotate. В этом случае следует установить --max-log-file-size=0 в нулевое значение, чтобы лишить monerod возможности управлять регистрационными файлами.
    --max-log-filesПредельное количество регистрационных файлов (50 по умолчанию). Самые старые регистрационные файлы удаляются. При производстве вы, вероятно, вместо этого предпочтёте использовать проверенные решения, такие как logrotate.

    Серверная часть:

    Настройки, используемые monerod по умолчанию, можно корректировать, чтобы периодически запускать программу на том же компьютере, на котором установлен кошелёк Monero.

    Следующие опции помогут, если вы хотите, чтобы у вас был постоянно работающий узел (наиболее вероятно, на удалённом сервере или на вашем отдельном ПК).

    ОпцияОписание
    --config-fileПолный путь к файлу конфигурации. По умолчанию monerod ищет bitmonero.conf в директории данных Monero.
    --data-dirПолный путь к директории данных. Это место, где хранится копия блокчейна, регистрационные файлы и находится память p2p сети. Информацию по настройкам, используемым по умолчанию, и другую соответствующую подробную информацию можно найти в разделе директория данных.
    --pidfileПолный путь к PID файлу. Работает только с --detach. Например:
    ./monerod --detach --pidfile=/run/monero/monerod.pid
    --detachВозвращение в фоновый режим (отсоединение от оконечного устройства). Эта опция полезна с точки зрения долгосрочных сценариев и сценариев с использованием сервера. Обычно пользователям также хочется управлять демоном monerod, используя systemd или подобный инструмент. По умолчанию monerod работает в приоритетном режиме.
    --non-interactiveНе требует tty в приоритетном режиме. Полезная опция при работе в контейнере. По умолчанию monerod работает в приоритетном режиме и открывает stdin для чтения. Это нарушает контейнеризацию, поскольку не происходит назначения tty, и monerod обрабатывает ошибки. monerod можно запустить в фоновом режиме, используя --detach, но это неудобно при работе в контейнере, так как каноническое использование подразумевает, что контейнер ожидает основного процесса (а разветвление всё усложняет).
    --no-igdОтключение распределения UPnP порта маршрутизатора (протокол Internet Gateway Device). Эта опция добавляется для повышения уровня безопасности, если вы не пользуетесь NAT (вы можете привязаться напрямую к публичному IP или использовать Tor).
    --max-txpool-weightЗадаёт максимальный размер пула транзакций (в байтах). По умолчанию этот размер составляет 648000000 (~618 Мб). Это транзакции, ожидающие подтверждения (ещё не включённые в какой-либо блок).
    --enforce-dns-checkpointingАктивирует экстренные контрольные точки, устанавливаемые операторами MoneroPulse. Возможно, было бы неплохо применять такую активацию к не сопровождаемым (автоматическим) узлам.
    Если встречается хеш блока, не соответствующий определённой контрольной точке, произойдёт «откат» локального блокчейна на несколько блоков, в результате чего будет заблокировано то, что операторы MoneroPulse сочтут недействительным форком. В журнале появится запись: ERROR Local blockchain failed to pass a checkpoint, rolling back!(ОШИБКА Локальный блокчейн не прошёл контрольную точку, откат!) В конечном счёте альтернативный («исправленный») форк перевесит, и узел последует за ним, оставив «недействительный» форк.
    По умолчанию при такой расстановке контрольных точек в журнале только появляется следующее уведомление о расхождении - ERROR WARNING: local blockchain failed to pass a MoneroPulse checkpoint, and you could be on a fork. You should either sync up from scratch, OR download a fresh blockchain bootstrap, OR enable checkpoint enforcing with the --enforce-dns-checkpointing command-line option (ПРЕДУПРЕЖДЕНИЕ ОБ ОШИБКЕ: локальный блокчейн не прошёл контрольную точку MoneroPulse, и вы можете находиться в форке. Вам необходимо либо синхронизироваться с самого начала, ЛИБО активировать контрольную точку, используя опцию командной строки --enforce-dns-checkpointing).
    Ссылка: исходный код.
    --disable-dns-checkpointsКонтрольные точки MoneroPulse, заданные разработчиками, будут сброшены. Тем не менее, очевидно, контрольные точки будут по-прежнему вызываться.

    P2P cеть:

    Следующие опции определяют участие вашего узла в одноранговой сети Monero. Данные опции отвечают за связь между узлами и не влияют на интерфейс между кошельком и узлом.

    Слово «узел» (node) и словосочетание «одноранговый узел» (peer) в данном контексте равнозначны и взаимозаменяемы.

    ОпцияОписание
    --p2p-bind-ipСвязующий сетевой интерфейс p2p сети. Значение 0.0.0.0, используемое по умолчанию, позволяет связаться со всеми сетевыми интерфейсами, что обычно и нужно.
    Если же необходимо ограничить такую связь, например, чтобы конфигурировать соединение Tor посредством torsocks, то необходимо изменить это значение:
    DNS_PUBLIC=tcp://1.1.1.1 TORSOCKS_ALLOW_INBOUND=1 torsocks ./monerod --p2p-bind-ip 127.0.0.1 --no-igd --hide-my-port
    --p2p-bind-portTCP порт «отслеживает» соединения p2p сети. По умолчанию используются следующие значения: 18080 для основной сети (mainnet), 28080 для тестовой сети (testnet) и 38080 для отладочной сети (stagenet). Как правило, эти значения не изменяются. Это позволяет запустить на вашей машине несколько узлов, моделируя приватную p2p сеть Monero (что подобно использованию тестовой сети). Например:
    ./monerod --p2p-bind-port=48080
    --p2p-external-portTCP порт «отслеживает» соединения p2p сети через ваш маршрутизатор. Опция актуальна, если вы используете NAT, но всё же вам бы хотелось принимать входящие соединения. Для этого необходимо установить соответствующий порт на вашем маршрутизаторе. Это делается для того, чтобы monerod знал, о чём сообщать в сети. По умолчанию имеет нулевое значение.
    --hide-my-portmonerod по-прежнему будет открыт и будет отслеживать p2p порт. Тем не менее он не будет заявлять о себе как о кандидате для попадания в список одноранговых узлов. Технически он вернёт порту нулевое значение в ответ на попытку сопряжения, предпринятую таким портом.
    (node_data.my_port = 0 в функции get_local_node_data). В сущности, узлы, с которыми вы соединяетесь, не будут сообщать ваш IP-адрес другим узлам. В итоге это на самом деле не совсем «сокрытие». Скорее, это «неразглашение».
    --seed-nodeСоединение с узлом с целью получения адресов других узлов и разъединение. При отсутствии заданных узлов monerod в первую очередь будет использовать жёстко закодированные начальные узлы, а также одноранговые узлы, кэшированные на диске, при последующих запусках.
    --add-peerРучное добавление узла в список одноранговых.
    --add-priority-nodeУказывает список узлов, к которым следует подсоединиться, а затем попытаться держать соединения открытым.
    Чтобы добавить множество узлов, следует использовать опцию несколько раз.
    Например:
    ./monerod --add-priority-node=178.128.192.138:18081 --add-priority-node=144.76.202.167:18081
    --add-exclusive-nodeУказывает список только тех узлов, к которым следует подсоединиться. Если задана эта опция, опции --add-priority-node и --seed-node игнорируются.
    Чтобы добавить множество узлов, следует использовать опцию несколько раз.
    Например:
    ./monerod --add-exclusive-node=178.128.192.138:18081 --add-exclusive-node=144.76.202.167:18081
    --out-peersЗадаёт максимальное количество исходящих соединений с другими узлами. По умолчанию значение составляет 8. Значение -1 указывает на ошибку кода.
    --in-peersЗадаёт максимальное количество входящих соединений с другими узлами (узлы активно подсоединяются к вам). По умолчанию значение не ограничено. Значение -1 указывает на ошибку кода.
    --limit-rate-upЗадаёт лимит скорости передачи исходящих данных [Кбайт/с]. По умолчанию значение составляет 2048 Кбайт/с. Значение -1 указывает на ошибку кода.
    --limit-rate-downЗадаёт лимит скорости передачи входящих данных [Кбайт/с]. По умолчанию значение составляет 8192 Кбайт/с. Значение -1 указывает на ошибку кода.
    --limit-rateЗадаёт одно и то же предельное значение для передачи входящих и исходящих данных. По умолчанию используются (-1) индивидуальные верхние/нижние предельные значения. Во избежание путаницы лучше использовать --limit-rate-up и --limit-rate-down.
    --offlineНе принимать данные от одноранговых узлов и не подсоединяться к какому-либо из них. Полезная опция для работы с локальным, архивным блокчейном.
    --allow-local-ipПозволяет добавить локальный IP в список одноранговых узлов. Опция полезна, в первую очередь, с точки зрения отладки, если захочется запустить множество узлов на одной машине.

    RPC API узла

    Узел monerod имеет мощный API, который служит 3 целям:
    • обеспечивает сетевые данные (статистику, данные блоков, транзакций, …);
    • обеспечивает информацию локального узла (список одноранговых узлов, хешрейт в случае майнинга, …);
    • обеспечивает интерфейс с кошельками (проведение транзакций, …).
    Этот API обычно называют RPC, поскольку он во многом основан на стандарте JSON/RPC.

    Поведение API определяют следующие опции:

    ОпцияОписание
    --rpc-bind-ip
    IP, от которого следует принимать данные. По умолчанию установлен как 127.0.0.1, поскольку API даёт все административные возможности в отношении узла. Можно установить как 0.0.0.0, чтобы получать информацию по всем интерфейсам, но только в сочетании с опциями
    *-restricted-* и --confirm-external-bind.
    --rpc-bind-portTCP порт, от которого следует принимать данные. По умолчанию задан как 18081 (основная сеть), 28081 (тестовая сеть), 38081 (отладочная сеть).
    --rpc-restricted-bind-portTCP порт, от которого следует принимать данные с ограниченной версией API. Ограниченную версию API можно сделать публичной для создания открытого узла. В то же самое время можно защитить полный порт API, используя Firewall, и по-прежнему отправлять локальные запросы и заниматься локальным администрированием.
    --confirm-external-bindПодтверждает, что вы сознательно установили --rpc-bind-ip как IP не локального хоста и вы понимаете возможные последствия.
    --restricted-rpcОграничивает API таким образом, что он видит только команды и не выдаёт чувствительной конфиденциальной информации. Следует отметить, что это не имеет смысла в случае с --rpc-restricted-bind-port, поскольку в конечном счёте у вас будет два ограниченных API.
    --rpc-loginУказание username[:рassword], необходимых для подсоединения к API. Практическое использование ограничено, поскольку данные API передаются простым текстом через HTTP.
    --rpc-access-control-originsВыводит список источников, разделённых запятыми, что позволяет совместно использовать ресурсы между источниками. Эта опция будет вам полезна, если вы захотите использовать monerod напрямую через сетевой браузер посредством JavaScript (скажем так, используя сценарий чистого сетевого приложения). Эта опция позволяет monerod создавать надлежащие заголовки ответов HTTP CORS. При использовании этой опции также будет необходимо установить rpc-login. Тем не менее обычно API используется конечными приложениями, поэтому необходимость в этой опции отсутствует.

    Получение Monero

    Это сетевые уведомления, которые обеспечивает monerod. Существуют также уведомления кошелька, такие как --tx-notify, которые выдаёт monero-wallet-rpc, как описано здесь.

    ОпцияОписание
    --block-notify <arg>
    Запуск программы для каждого нового блока. <arg> должен указывать полный путь. Если <arg> содержит %s, он будет заменён хешем блока.
    Например: ./monerod --block-notify="/usr/bin/echo %s"
    Уведомления блоков хороши тем, что обеспечивают немедленную реакцию. Тем не менее всегда необходимо помнить о возможности пропуска некоторых уведомлений, поэтому периодически следует самостоятельно запрашивать API.
    Также следует помнить о реорганизации блокчейна. Уведомления блоков могут относиться к одной и той же высоте. Небольшая реорганизация является естественным процессом и происходит ежедневно.
    --block-rate-notify <arg>Запуск программы в том случае, если количество полученных блоков за последнее время будет сильно отличаться от ожидаемого. <arg> должен указывать полный путь. <arg> может содержать любой из символов %t, %b, %e, где:
    • %t будет означать количество минут в наблюдаемом окне;
    • %b будет означать количество блоков в этом окне;
    • %e будет идеальным количеством блоков, ожидаемым в этом окне.
    Данная опция позволяет узнать о серьёзном падении хешрейта сети. Это может свидетельствовать о том, что значительная часть майнеров, присутствовавших в сети, ушла в приватную сеть, что позже отразится на сети. Следует отметить, что такое событие не будет неопровержимым доказательством того, что это происходит на самом деле. Это может быть случайностью. Чем шире окно (параметр %t) и чем больше разница между фактическим и ожидаемым количеством блоков, тем вероятнее это будет свидетельствовать о возможной подготовке реорганизации блокчейна посредством атаки двойной траты.
    Рекомендация. Если вы не управляете экономически важной биржей Monero или являетесь оператором, не руководствуйтесь этими данными. Их трудно проверить и легко неверно истолковать. В случае реальной атаки её целью будут высоколиквидные предприятия, а не малый бизнес.
    --reorg-notify <arg>Запуск программы в случае реорганизации (то есть, если по крайней мере один блок будет убран сверху блокчейна). <arg> должен указывать полный путь. <arg> может содержать любой из символов %s, %h, %n, где:
    • %s означает высоту, на которой происходит разбиение;
    • %h означает высоту нового блокчейна;
    • %d указывает количество блоков, которое будет выброшено из старого блокчейна;
    • %n указывает количество блоков, которое будет добавлено.
    Эта опция позволяет узнать, когда из блокчейна убирается один блок и заменяется другими. Это происходит при проведении атаки 51%, но небольшая реорганизация может произойти и при обычных обстоятельствах. Параметр %d устанавливается в значение количества блоков, которое удаляется из старого блокчейна (таким образом, если это количество будет больше, чем количество ожидаемых подтверждений по входящим платежам, то платёж может быть отменён). Параметр %n устанавливается в значение количества блоков в новом блокчейне (таким образом, если это количество будет больше, чем количество ожидаемых подтверждений по входящим платежам, то любой входящий платёж в первом блоке будет автоматически исполнен на вашей платформе).
    Рекомендация. Если вы не управляете экономически важной биржей Monero или являетесь оператором, не используйте эту опцию. Просто учитывайте возможность реорганизации и требуйте по крайней мере 10 подтверждений перед тем, как отправить ценный товар.

    Рабочие параметры (опции)

    Эти продвинутые опции позволяют оптимизировать работу узла monerod (зачастую за счёт надёжности).

    ОпцияОписание
    --db-sync-mode
    Указывает вариант синхронизации, используя формат:
    [safe|fast|fastest]:[sync|async]:[<nblocks_per_sync>[blocks]|<nbytes_per_sync>[bytes]]
    По умолчанию используется следующий: fast:async:250000000bytes.
    fast:async:* может повредить базу данных блокчейна в случае отказа системы. База не будет повреждена, если произойдёт только отказ monerod. Если вы беспокоитесь о возможном отказе системы, следует использовать safe:sync.
    --max-concurrencyМаксимальное количество используемых при работе потоков. При нулевом значении, заданным по умолчанию, используется общее количество потоков CPU.
    --prep-blocks-threadsМаксимальное количество потоков, используемое при вычислении хешей блоков (PoW) в группах. По умолчанию значение составляет 4. Задайте меньшее значение, если не хотите, чтобы monerod излишне перегрузил ваш компьютер при синхронизации.
    --fast-block-syncСинхронизация большую часть времени происходит при помощи «известных» хешей блоков. Значение 1 передаётся для включения, значение 0 для выключения. По умолчанию задано как 1. Обычно для каждого блока узел должен вычислить соответствующий хеш, чтобы проверить доказательство работы майнера. Поскольку алгоритм доказательства работы протокола CryptoNight, используемый Monero, довольно затратен (даже с точки зрения верификации), monerod предлагает пропустить эти вычисления для старых блоков. Другими словами, это механизм доверия двоичному файлу monerod в отношении действительности PoW старых блоков, повышающий скорость синхронизации.
    --block-sync-sizeУказывает, сколько блоков обрабатывается в одной группе во время синхронизации блокчейна. По умолчанию это количество составляет 20 блоков (сейчас) и составляло 100 блоков (ранее, то есть до версии v4). По умолчанию установлено нулевое значение. Интуитивно чем больше блоков имеется, тем больший размер группы вы будете использовать. Например:
    ./monerod --block-sync-size=500
    --bootstrap-daemon-addresshost:рort «начального загрузочного» открытого узла, который подсоединённые к нему кошельки могут использовать, даже пока этот узел ещё не до конца будет синхронизирован.
    Например:
    ./monerod –bootstrap-daemon-address=opennode.xmr-tw.org:18089.
    Узел будет направлять запросы RPC загрузочному узлу. Кошелёк будет обрабатывать их автоматически и прозрачно. Очевидно, такая фаза загрузки влияет на анонимность, как и в случае, когда удалённый узел используется напрямую.
    --bootstrap-daemon-loginУказывает username:рassword учётной записи демона загрузки (если это требуется). Обычно открытые узлы не требуют какой-либо регистрации.

    Майнинг

    Следующие опции используются для конфигурирования при соло-майнинге посредством CPU со стандартным программным стеком monerod. Эти опции будут по большей части полезны в следующих случаях:
    • для создания монет в отладочной сети или тестовой сети;
    • для проведения экспериментов и обучения;
    • если у вас есть супер дешёвый доступ к обширным ресурсам CPU.
    Тем не менее помните о том, что реальный майнинг происходит в пулах и при помощи высокопроизводительных GPU, а не CPU.

    ОпцияОписание
    --start-miningУказывает адрес кошелька, для которого будет происходить майнинг. Этот адрес должен быть стандартным! Ни подадрес, ни интегрированный адрес использоваться не могут.
    --mining-threadsУказывает количество потоков для майнинга. По умолчанию используется только один поток. Для получения наилучших результатов следует указывать количество, равное количеству физических ядер.
    --extra-messages-fileУказывает файл для включения дополнительных сообщений в coinbase-транзакцию.
    --bg-mining-enableОбеспечивает возможность «скромного» майнинга. В этом режиме для майнинга будет использоваться небольшой процент ваших системных ресурсов, и работа вашего компьютера не будет заметно замедляться. Эта опция должна мотивировать людей к майнингу и повысить уровень децентрализации. К слову, шансы найти блок при соло-майнинге посредством CPU довольно низки, ниже, чем при использовании этой «скромной» версии. Вы можете улучшить компромисс между «скромным» майнингом и мощностью, используя другие опции --bg-*, которые приводятся ниже.
    --bg-mining-ignore-batteryВ значении true предполагает работу при отсутствии информации о питании системы.
    --bg-mining-min-idle-intervalУказывает интервал обратного просмотра в секундах для определения состояния незанятости.
    --bg-mining-idle-thresholdУказывает минимальный средний процент незанятости за интервал обратного просмотра.
    --bg-mining-miner-targetУказывает максимальный процент использования CPU майнером (майнерами).

    Тестирование

    Эти опции предназначены для разработчиков и тестировщиков проекта Monero. Обычным пользователям эти опции не нужны.

    ОпцияОписание
    --test-drop-downloadОпция предназначена для тестирования сети: загрузки, быстрого сброса ВСЕХ блоков вместо их проверки/сохранения.
    --test-drop-download-heightРаботает так же, как --test-drop-download, но после достижения определённой высоты блока. По умолчанию установлена в нулевое значение.
    --regtestЗапуск в режиме регрессивного тестирования.
    --fixed-difficultyЗадаёт фиксированную сложность тестирования. По умолчанию установлена в нулевое значение.
    --test-dbg-lock-sleepВремя до ухода в «спящий» режим. По умолчанию установлено в нулевое значение (режим выключен). Используется для отладки до/после блокировки mutex. Для тестирования хорошо подходят значения от 100 до 1000.
    --save-graphСохранения данных в директорию Monero.

    Унаследованные опции

    Необходимость в этих опциях уже отсутствует. Они сохраняются в monerod исключительно в целях обратной совместимости.

    ОпцияОписание
    --fluffy-blocksРетранслирует компактные блоки. Используется по умолчанию. Компактный блок включает в себя только заголовок и список идентификаторов (ID) транзакций.
    --no-fluffy-blocksРетранслирует классические полные блоки. Классический блок включает в себя все транзакции.
    --show-time-statsВ официальной документации написано: «Показывает временную статистику при обработке блоков/транзакций и синхронизации диска», но не даёт никакого результата при обычной синхронизации блокчейна.
    --zmq-rpc-bind-ipIP, который будет отслеживать ZMQ RPC сервер. По умолчанию устанавливается как 127.0.0.1. Пока эта опция не получила широкого распространения, так как интерфейс ZMQ не обеспечивает значимого преимущества в сравнении с классическим интерфейсом JSON-RPC. К сожалению, в настоящее время нет никакой возможности отключить ZMQ сервер.
    --zmq-rpc-bind-portПорт, который будет отслеживать ZMQ RPC сервер. По умолчанию устанавливается как 18082 для основной сети, 38082 для отладочной сети и как 28082 для тестовой сети.
    --db-typeУказывает тип базы данных. По умолчанию используется и является единственно доступной lmdb.

    Команды

    Команды обеспечивают доступ к определённым сервисам демона. Команды выполняются при работающей программе. Их названия соответствуют шаблону —command_name. Команды сгруппированы для простоты понимания. Сам демон не группирует команды каким бы то ни было образом.

    Пример использования приводится в разделе, посвящённом запуску. Команды также можно вводить посредством командной строки работающего monerod (если программа будет доступна).

    Помощь, версионирование, состояние:

    ОпцияОписание
    help [<command>Помощь по <command>.
    versionИнформация по версии. Пример:
    Monero 'Boron Butterfly' (v0.14.0.0-release)
    status
    Информация состояния. Пример:
    Height: 186754/186754 (100.0%) on stagenet, not mining, net hash 317 H/s, v9, up to date, 8(out)+0(in) connections, uptime 0d 3h 48m 47s

    P2P сеть:

    ОпцияОписание
    print_plОтображает полный список одноранговых узлов.
    print_pl_statsОтображает статистику по полному списку одноранговых узлов (отношение белых и серых узлов). Белые узлы находятся онлайн и доступны. Серые узлы находятся оффлайн, но monerod запоминает их для организации последующих сессий.
    print_cnПоказывает подсоединённые узлы и состояние соединения (входящее/исходящее), а также другую статистику.
    ban <IP> [<seconds>]Блокирует определённый <IP> на заданное количество <seconds> (секунд). По умолчанию время блокировки составляет 24 часа. Например:
    ./monerod ban 187.63.135.161
    unban <IP>Снятие блокировки с заданного <IP>
    bansПоказывает заблокированные на данный момент IP. Например:
    187.63.135.161 banned for 86397 seconds
    in_peers <max_number>Устанавливает входящие соединения от других одноранговых узлов.
    out_peers <max_number>Устанавливает исходящие соединения к другим одноранговым узлам.
    limit [<kB/s>]Получает или задаёт лимит загрузки и выгрузки.
    limit_down [<kB/s>]Получает или задаёт лимит загрузки.
    limit_up [<kB/s>]Получает или задаёт лимит выгрузки.

    Пул транзакций:

    ОпцияОписание
    flush_txpool [<txid>]Изымает транзакцию из пула транзакций или изымает весь пул транзакций, если не была указана определённая.
    print_poolОтображает пул транзакций, используя подробный формат.
    print_pool_shОтображает пул транзакций, используя сокращённый формат.
    print_pool_statsОтображает статистику пула транзакций (количество транзакций, объём памяти, комиссии, попытки двойной траты и т. д.)

    Транзакции:

    ОпцияОписание
    print_coinbase_tx_sum <start_height> [<block_count>]Показывает сумму всех созданных монет и уплаченные комиссии за определённый промежуток времени. Пример:
    ./monerod print_coinbase_tx_sum 0 1000000000000
    print_tx <transaction_hash> [+hex] [+json]Показывает указанную транзакцию в формате JSON и/или HEX.
    relay_tx <txid>Осуществляет ретрансляцию транзакции. Полезная команда, если вы по какой-то причине решите повторно отправить транзакцию в сеть или же если транзакция была ранее создана с использованием "do_not_relay":true.

    Блокчейн:

    ОпцияОписание
    print_heightПоказывает высоту локального блокчейна
    sync_infoПоказывает процесс синхронизации, а также подсоединённые одноранговые узлы вместе со статистикой загрузки/выгрузки.
    print_bc <begin_height> [<end_height>]Показывает блоки в диапазоне <begin_height>..<end_height>. Информация будет включать в себя идентификатор, высоту, временную метку, версию, размер, весовое значение, количество транзакций, не являющихся coinbase-транзакциями, сложность, нонс и размер вознаграждения.
    print_block <block_hash> | <block_height>Показывает подробную информацию по указанному блоку.
    hard_fork_infoПоказывает текущую версию консенсуса и высоту блока, на котором произойдёт следующий хардфорк, если таковой планируется.
    is_key_image_spent <key_image>Проверяет, потрачен или нет указанный образ ключа. Образ ключа является хешем.

    Управление демоном:

    ОпцияОписание
    exit, stop_daemonЗапрос корректной остановки работы демона. Команды exit и stop_daemon идентичны (одна является альтернативным вариантом другой).
    set_log <level>|<{+,-,}categories>Задаёт текущий уровень/категорию журнала, где <level> является числом от 0 до 4.
    print_statusПоказывает, статус демона.
    update (check|download)Проверка наличия доступного обновления и его загрузка, если есть. Хешем является SHA-256. В случае с Linux для верификации используется sha256sum. Пример:
    Update available: v0.13.0.4: https://downloads.getmonero.org/cli/monero-linux-x64-v0.13.0.4.tar.bz2,
    hash 693e1a0210201f65138ace679d1ab1928aca06bb6e679c20d8b4d2d8717e50d6
    Update downloaded to: /opt/monero-v0.13.0.2/monero-linux-x64-v0.13.0.4.tar.bz2


    Майнинг:

    ОпцияОписание
    show_hrЗапрос monerod о прекращении отображения текущего хешрейта. Используется только в случае, если monerod находится в режиме майнинга.
    hide_hrЗапрос monerod об отображении текущего хешрейта. Используется только в случае, если monerod находится в режиме майнинга.
    start_mining <addr> [<threads>] [do_background_mining] [ignore_battery]Запрос демона monerod о запуске майнинга. Вознаграждение за блок будет направлено на <addr>.
    stop_miningЗапрос демона monerod об остановке майнинга.

    Тестирование:

    ОпцияОписание
    start_save_graphЗапуск сохранения данных в директорию Monero.
    stop_save_graphОстановка сохранения данных в директорию Monero.

    Унаследованные команды:

    ОпцияОписание
    saveСброс данных блокчейна на диск. Сейчас это, как правило, не требуется, так как monerod автоматически сохраняет блокчейн при выходе.
    output_histogram [@<amount>] <min_count> [<max_count>]Показывает количество выходов для каждой суммы. Это использовалось только до эры RingCT. Старым кошелькам была необходима эта команда, чтобы узнать, какие выходы можно использовать в качестве запрошенных миксинов. После реализации RingCT необходимость в этом отпала, так как суммы стали скрываться. Больше информации можно найти здесь в ответах.
    Данный материал находиться в процессе написания и дополнения. Спасибо за понимание!

    Источник: monerod

    Перевод:
    Mr. Pickles (@v1docq47)
    Редактирование:
    Agent LvM (@LvMi4)
    Коррекция:
    Kukima (@Kukima)
     
    #1 Mr. Pickles, 20 дек 2019
    Последнее редактирование: 20 дек 2019
  • О нас

    Наш сайт является одним из уникальных мест, где русскоязычное сообщество Monero может свободно общаться на темы, связанные с этой криптовалютой. Мы стараемся публиковать полезные мануалы и статьи (как собственные, так и переводы с английского) о криптовалюте Monero. Если вы хорошо владеете английским (или можете писать собственные статьи/мануалы) и хотите помочь в переводах и общем развитии Monero для русскоязычной аудитории - свяжитесь с одним из администраторов.