Как мне достичь консенсуса для местного развития

Я использую консенсус BABE / GRANDPA из substrate-node-template для разработки цепочки субстратов. Для локальной разработки (т.е. запуска только одного узла для разработки dapp) у этой настройки есть несколько проблем.

  • Узел всегда необходимо перекомпилировать с флагом --release, иначе выполнение блока превышает длительность слота. Это дорого, особенно для CI.
  • Невозможно выключить узел и перезапустить его позже. Консенсус будет жаловаться на то, что эпохи слишком далеки друг от друга.
  • Для получения обратной связи от отправленного внешнего сообщения требуется, по крайней мере, длительность временного интервала.

В идеале консенсус, используемый для локальной разработки, должен вести себя как консенсус InstantSeal в Parity Ethereum. Есть ли аналогичный консенсус по субстрату? А как насчет Ауры? Можно ли настроить BABE / GRANDPA, чтобы смягчить проблемы?


person geigerzaehler    schedule 16.10.2019    source источник
comment
Узел-шаблон подложки очень скоро вернется к использованию Aura, в котором нет некоторых из этих проблем. Вы можете увидеть этот PR о том, как их поменять местами, или дождаться объединения. .   -  person kianenigma    schedule 16.10.2019


Ответы (1)


Шаблон узла субстрата был снова переключен на AURA.

Итак, теперь вам будет намного проще развертывать локальные тестовые сети.

Просто загрузите последний мастер репозитория подложек, получите новый шаблон узла и запустите

substrate-node  --chain local --alice

Или, если вы создаете свою собственную спецификацию цепочки, предоставьте авторитет ауры:

"aura": {
  "authorities": [
    "5FZWmKa4ePFfoSRj83XiCnDrsnWcdbf7886yFSnFAmQCcUJ2"
  ]
},
person Afr    schedule 19.11.2019