Clique: Neu hinzugefügte Unterzeichner werden nicht auf anderen Knoten angezeigt und das Mining neuer Blöcke wurde gestoppt

Ich habe die folgende Antwort zum Thema „Wie füge ich einen neuen Sealer in Geth 1.6 Proof of Authority hinzu?“ befolgt? .

Derzeit habe ich ein Unterzeichnerkonto 0x4e4a0750350796164d8defc442a712b7557bf282. Mit einem Unterzeichner funktionierte das Mining problemlos. propose()Mein Unterzeichnerkonto hat mithilfe der Funktion ein neues Unterzeichnerkonto vorgeschlagen .

clique.propose("0x5b29ede59ecff473fb5760a53dbacc21cbc5b3dd", true) 

Auf meinem Unterzeichnerknoten und anderen Knoten kann ich die neue Adresse in meiner Unterzeichnerliste sehen ( clique.getSigners()),

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

Als auf meinem anderen Knoten habe 0x5b29ede59ecff473fb5760a53dbacc21cbc5b3ddich dieses Konto entsperrt und den miner.start()Befehl ausgeführt, aber keine Hilfe beim Abbau neuer Blöcke im Netzwerk. Also hört das Netzwerk auf, neue Blöcke abzubauen :(

Außerdem wird das Konto des neuen Unterzeichners nicht auf meinem anderen verbundenen Knoten angezeigt, der das Konto für den neu hinzugefügten Unterzeichner hat.

Jetzt kann ich den neu hinzugefügten Unterzeichner auch nicht entfernen mit:

clique.propose("0x5b29ede59ecff473fb5760a53dbacc21cbc5b3dd", false)

Bitte beachten Sie, dass beide Unterzeichner entsperrt und miner.start()aktiv sind.

[F] Wie könnte ich dieses Problem lösen?

Ich meine, anstelle von "0x"gibt es die ursprüngliche Ethereum-Adresse. Und ein anderer Knoten, dessen Adresse entsperrt ist, und ich führe den Befehl miner.start() aus, aber das Mining neuer Blöcke wird immer noch gestoppt. @ivica
Ist "0x5b29ede59ecff473fb5760a53dbacc21cbc5b3dd" auch eth.coinbase? Ich bin mir nicht 100% sicher, aber ich erinnere mich, dass ich Probleme hatte, wenn das Sealer-Konto nicht eth.coinbase ist.
Nein ist es nicht; Lass es mich machen coinbaseund sehen, ob es eine Änderung geben wird. @ivica
Ah, ich fühle mich wie ein Dummkopf, eth.coinbase zeigte auf eine andere Adresse, als ich mit "0x5b29ede59ecff473fb5760a53dbacc21cbc5b3dd" aktualisierte, wurde es gelöst. @ivica
Wie kann ich neu hinzugefügte Unterzeichner entfernen? @ivica
Beide Konten müssen clique.propose(..., false) senden. Du benötigst immer 50% + 1 Stimme, also 2 für 2 Accounts.
Es hat nicht funktioniert :( bevor Sie einen Unterzeichner entfernen, sollte wieder jedes Konto Coinbase zugewiesen werden, oder gibt es auch ein Standardkonto für die Clique? @ivicaa
Es funktionierte! Aber es wird nicht sofort in clique.getSigners() @ivicaa angezeigt
Ich nehme an, es muss eth.coinbase sein. Ich bin mir wieder nicht 100% sicher, aber es kann einige Blöcke dauern, bis die Anfrage bearbeitet wird. Wobei ich mir zu 100% sicher bin, dass beide für die Adresse, die entfernt werden soll, falsch stimmen müssen.
Sie haben Recht, ich denke, es dauert ungefähr 10 Blocks, bis Sie auf der clique.getSigners()@iviaa erscheinen
Ja. Sie nennen das Schnappschüsse oder so, aber ich kenne die Designgründe dahinter nicht.
Wenn es 10 Unterzeichnerkonten auf demselben Knoten gibt und alle entsperrt sind. Wie kann jeder vorschlagen? Ich kann dies zu einer anderen Frage stellen. @ivica

Antworten (1)

eth.coinbasemuss auf das Siegelkonto zeigen.

Wenn Sie das zweite Konto erneut entfernen möchten, müssen beide Konten die Entfernung vorschlagen. Du benötigst immer 50% + 1 Stimme, also 2 für 2 Accounts.