какая командная строка для проверки количества монет будет создана после создания кошелька?

какая командная строка для проверки количества монет будет создана после создания кошелька?

я только что клонировал биткойн и изменил количество монет на 10 миллионов

MAX_MONEY = 10000000

поэтому я хотел бы знать, есть ли какая-либо команда для проверки этого значения, которое я вставил.

я знаю, что могу проверить сумму в обращении с помощью вызова RPCgettxoutsetinfo

Ответы (2)

Прежде всего, изменение MAX_MONEYне изменит общую денежную массу. См. Почему изменение MAX_MONEY не меняет максимальное количество монет? Вместо этого вам нужно будет указать новое начальное вознаграждение за блок и интервал деления пополам.

Параметр командной строки для отображения общего количества монет, которые необходимо создать, отсутствует. Но в исходном коде есть модульный тестsubsidy_limit_test , который вычисляет это значение и сравнивает его с правильным числом для биткойнов. Вы можете адаптировать этот код для выполнения вычислений и вывода результата, а затем изменить тест, чтобы ваш код прошел его успешно.

большое спасибо, что поделились своим временем и знаниями

Нет, нет возможности отобразить значение этой константы. Однако я не уверен, что эта константа действительно делает то, что вы хотите, поэтому позвольте мне объяснить ее значение.

Константа MAX_MONEY — это максимальная сумма, которая может отображаться в отдельной биткойн-транзакции, например, в tx_verify.cpp в CheckTransaction. Здесь фактически выполняются две проверки:

  1. Сумма в выводе каждой транзакции сверяется с этим значением.
  2. Проверяется сумма по всем выходным транзакциям

Таким образом, теоретически вы можете проверить, используется ли ваше новое значение после перекомпиляции, отправив транзакцию, нарушающую эти ограничения, и дождаться сообщения об ошибке.

Однако на самом деле вы хотите (если я правильно понял ваш вопрос) увеличить общее количество биткойнов, которые можно добыть . Это число не жестко закодировано напрямую, но ограничение обусловлено тем фактом, что каждые 210 000 блоков субсидия, то есть сумма BTC, которую майнер зарабатывает в дополнение к комиссии за транзакцию за добычу блока, уменьшается вдвое. Это делается в GetBlockSubsidy в файле validation.cpp с использованием параметра nSubsidyHalvingInterval в chainparams.cpp. Таким образом, если вы хотите изменить это значение (разрушая консенсус), вам придется внести изменения в эти места в исходном коде.