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

Я последовал следующему ответу о том, как добавить новый Sealer в Geth 1.6 Proof of Authority? .

В настоящее время у меня есть один подписанный аккаунт 0x4e4a0750350796164d8defc442a712b7557bf282. С одним подписантом майнинг работал без проблем. Моя учетная запись подписывающей стороны предложила новую учетную запись подписывающей стороны с помощью propose()функции.

clique.propose("0x5b29ede59ecff473fb5760a53dbacc21cbc5b3dd", true) 

На моем узле подписывающей стороны и других узлах я вижу новый адрес в моем списке подписывающих сторон ( clique.getSigners()),

clique.getSigners()
["0x4e4a0750350796164d8defc442a712b7557bf282", "0x5b29ede59ecff473fb5760a53dbacc21cbc5b3dd"]

Чем на другом узле, на котором 0x5b29ede59ecff473fb5760a53dbacc21cbc5b3ddя разблокировал эту учетную запись и выполнил miner.start()команду, но не помог в добыче новых блоков в сети. Так что сеть перестанет добывать новые блоки :(

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

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

clique.propose("0x5b29ede59ecff473fb5760a53dbacc21cbc5b3dd", false)

Обратите внимание, что оба подписанта разблокированы и miner.start()активны.

[В] Как я могу решить эту проблему?

Я имею в виду, что вместо "0x", есть оригинальный адрес эфириума. И еще один узел, этот адрес разблокирован, и я запускаю команду miner.start(), но добыча новых блоков все еще остановлена. @ivicaa
Является ли «0x5b29ede59ecff473fb5760a53dbacc21cbc5b3dd» также eth.coinbase? Я не уверен на 100%, но я помню, что у меня были проблемы, когда учетная запись герметика не была eth.coinbase.
Нет это не так; позвольте мне сделать это coinbaseи посмотреть, будут ли какие-либо изменения. @ivicaa
Ах, я чувствую себя глупо, eth.coinbase указывал на какой-то другой адрес, когда я обновил «0x5b29ede59ecff473fb5760a53dbacc21cbc5b3dd», проблема была решена. @ivicaa
Как я могу удалить новую добавленную подписывающую сторону? @ivicaa
Обе учетные записи должны отправить clique.propose(..., false). Всегда нужно 50% + 1 голос, то есть 2 на 2 аккаунта.
Это не сработало :( прежде чем удалить подписавшего, снова каждая учетная запись должна быть назначена на coinbase, снова? Или для клики также есть учетная запись по умолчанию? @ivicaa
Это сработало! Но он не сразу появляется в клике.getSigners() @ivicaa
Я предполагаю, что это должен быть eth.coinbase. Я снова не уверен на 100%, но может потребоваться несколько блоков, пока запрос не будет обработан. В чем я уверен на 100%, так это в том, что оба должны проголосовать за адрес, который нужно удалить.
Вы правы, я думаю, чтобы появиться на clique.getSigners()@iviaa , нужно около 10 блоков.
Да. Они будут называть это снимками или около того, но я не знаю конструктивного обоснования этого.
Если на одном узле есть 10 учетных записей подписавших, и все они разблокированы. Как каждый может сделать предложение? Я могу задать это по другому вопросу. @ivicaa

Ответы (1)

eth.coinbaseдолжен указать на опечатывание счета.

Если вы хотите снова удалить вторую учетную запись, обе учетные записи должны будут предложить удаление. Всегда нужно 50% + 1 голос, то есть 2 на 2 аккаунта.