Как удалить газовую систему из эфирума

Я тестирую Ethereum со сложным контрактом, который требует довольно много газа. И я тестирую (и буду работать) частную сеть с контролируемыми шахтерами, поэтому мне не нужно, чтобы они получали вознаграждение, а моя «монета» - не эфир.

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

Спасибо!

16 голосов | спросил BiS 9 MarpmWed, 09 Mar 2016 19:08:38 +03002016-03-09T19:08:38+03:0007 2016, 19:08:38

6 ответов


6

Я ничего не мог найти, поэтому, я думаю, нет никакого способа сделать это. Поэтому я сам отвечаю за тех, кто хочет это сделать, наилучшим обходным решением, которое я могу найти, является:

  1. Установите предельный уровень газа на тупо-высокий предел @ блока генезиса (мой контракт не будет развертываться в пределах лимита по умолчанию).
  2. Выделяйте бесконечное количество эфира для каждой /главной учетной записи, а затем     перевод на все ваши другие счета (+ предложение Чарли о     дешевые шахтеры).
  3. Установите основную учетную запись как эфирную базу для всех ваших шахтеров (и периодически возвращать эфир обратно другим, возможно, есть и другие как предоставление бесплатного эфира в ваших контрактах, не уверен, что возможно)

Это работает, хотя это не лучший сценарий для моего использования.

ответил BiS 11 MarpmFri, 11 Mar 2016 19:00:46 +03002016-03-11T19:00:46+03:0007 2016, 19:00:46
7

Я бы поставил цену вашего газа на действительно низкое количество на ваших частных шахтеров, используя опцию командной строки gasprice. Подробнее здесь:

https://github.com/ethereum/go-ethereum/wiki/Command-Line -Options

ответил CharlieK 9 MarpmWed, 09 Mar 2016 19:15:59 +03002016-03-09T19:15:59+03:0007 2016, 19:15:59
4

Поскольку это прежде всего для тестирования, если какой-нибудь Python в порядке, я бы предложил использовать тестер pyethereum , потому что это легко установить предел газа блока очень высок, цена на газ равна нулю, а моя быстро.

Это также может быть полезно: â € Как я могу остановить ограничение блокировки газа на частной цепочке, которая падает до значения по умолчанию для общей цепочки?

ответил eth 17 AMpSun, 17 Apr 2016 10:38:30 +030038Sunday 2016, 10:38:30
3

Помимо других ответов, которые являются правильными для Ethereum, но не идеальны для моего случая. Для тех, кто ищет что-то похожее на мои требования к частным сетям, посмотрите Monax .

ответил BiS 30 AM000000100000002031 2016, 10:19:20
2

Вы можете использовать EthereumJ и установить все переменные в нуль в этом файле https://github.com/ethereum/ethereumj/blob/develop/ethereumj-core/src/main/java/org/ethereum/vm/GasCost.java Это делает все бесплатно. В любом случае газ рассчитывается /преобразуется в виртуальной машине Ethereum, поэтому вам нужно отредактировать источник любого клиента, которого вы выберете.

ответил TJEvrtGuy78 7 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 07 Sep 2016 08:11:34 +0300 2016, 08:11:34
0

Надеюсь, я могу прокомментировать ответы @Bis ,, @eth и @ TJEvrtGuy78, тогда мне не нужно слышать голос через ответ, так как у меня нет такой большой репутации (у меня даже нет достаточно репутации, чтобы проголосовать за ответ)

Контекст - Я также создаю частную сеть для запуска смарт-контракта, где все шахтеры принадлежат мне).

Я не думаю, что взлом клиента Ethereum, такого как EthereumJ, является хорошей идеей, потому что это нарушит совместимость. И использование тестера pyethereum также не является хорошим вариантом, поскольку это потеряет масштабируемость.

В конце концов, частная сеть не должна просто действовать как тестовая сеть, она также может быть производственной сетью.

Насколько я сейчас ищу, моя частная сеть Ethereum добывает блок за 2 секунды. Учитывая разложение вознаграждения, сеть может работать не менее 3 лет с вознаграждением. И даже если вознаграждение станет нулевым в будущем, мы также можем собрать Эфир на одну учетную запись, чтобы добытчик и инициатор транзакций использовали одну и ту же учетную запись, каждая операция будет идти в игру с нулевой суммой.

Ключевым моментом ответа на этот вопрос должно быть разделение одной учетной записи по всей сети. Я не думаю, что газовый предел необходим, если количество газа целевого контракта действительно велико. И, согласно моему эксперименту, предварительная сборка также не нужна, в один час разминки будет производиться достаточно монет.

В конце концов, я просто обобщаю все ваши ответы своим опытом.

ответил Chuan Liang 8 32017vEurope/Moscow11bEurope/MoscowWed, 08 Nov 2017 09:29:58 +0300 2017, 09:29:58

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132