Отключить автоматическую предварительную генерацию DAG?

Я работаю над частной цепочкой блоков (в настоящее время блок № 16117). Я также предварительно сгенерировал DAG для эпохи 1. Итак, я запустил экземпляр geth с расширением --autodag=false. Однако при запуске майнинга я все равно получаю следующее сообщение:

I0707 10:24:57.871976 eth/backend.go:452] Automatic pregeneration of ethash DAG ON (ethash dir: ~/.ethash)

Я не уверен, как отключить это. --autodag=falseКоманда неверна ? Есть ли способ сделать это из консоли JavaScript?

версия geth - 1.4.9-стабильная

Почему вы хотите отключить генерацию DAG? из любопытства.
@niksmac При майнинге моего частного блокчейна автоматическая генерация DAG для эпохи 1 началась с блока № 16092. В то время у меня было запущено много процессов, и генерация DAG не удалась из-за нехватки памяти, что в конечном итоге остановило процесс майнинга. Итак, я предварительно сгенерировал DAG для эпохи 1, а затем снова начал майнить. Я хочу отключить это, потому что не хочу, чтобы майнер аварийно завершал работу при повторном создании DAG для эпохи 2.
Итак, DAG должен содержать предыдущую работу, которую вы проделали, чтобы доказать свою работу; PoW, поэтому он должен воссоздаваться, чтобы соответствовать новым блокам в нем. как я делаю, это удалить данные цепочки и начать с блока № 1
Да. Начать сначала — это временное решение, но при этом будут удалены все данные, что нежелательно. Я видел эту --autodagопцию, geth --helpно не мог понять, как ее использовать.
@variable Я столкнулся с той же проблемой. У моего узла 2 ГБ ОЗУ, поэтому из-за нехватки памяти при майнинге генерация DAG всегда дает сбой и вынуждает меня удалить файл /.ethash, начать майнинг и воссоздать файлы DAG с нуля. Отключение autodagрешило вашу проблему?
@Аватар Да. Это решило проблему.

Ответы (2)

Установка --autodagопции false, похоже, не работает. Я набрал эту команду в консоли JS, и она сработала:

miner.stopAutoDAG()

Выход:

I0708 11:01:29.112749 eth/backend.go:498] Automatic pregeneration of ethash DAG OFF (ethash dir: ~/.ethash)

Просто чтобы добавить к принятому ответу...

Флаг --autodagне принимает значения, поэтому его нельзя установить в false.

DAG всегда будет создаваться заранее, если майнинг включен из CLI с помощью --mineфлага. Этот --autodagфлаг позволяет вам предварительно сгенерировать DAG, даже если майнинг не включен.

Соответствующая часть кода находится в flags.go:

AutoDAG:   ctx.GlobalBool(AutoDAGFlag.Name) || ctx.GlobalBool(MiningEnabledFlag.Name),