Ich versuche, eine Proof-of-Authority-Kette mit einem einzelnen Knoten einzurichten. Ich verwende Parity v1.7.7 und habe die folgende Konfigurationsdatei:
{
"name": "LocalPoA_7545",
"engine": {
"instantSeal": {
"params": {}
}
},
"params": {
"gasLimitBoundDivisor": "0x400",
"maximumExtraDataSize": "0x20",
"minGasLimit": "0x1388",
"networkID": "0x1d79"
},
"genesis": {
"seal": {
"ethereum": {
"nonce": "0x00006d6f7264656e",
"mixHash": "0x00000000000000000000000000000000000000647572616c65787365646c6578"
}
},
"difficulty": "0x20000",
"author": "0x0000000000000000000000000000000000000000",
"timestamp": "0x00",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "0x",
"gasLimit": "0x1312d00"
},
"account": {
"0x0000000000000000000000000000000000000001": { "balance": "1", "builtin": { "name": "ecrecover", "pricing": { "linear": { "base": 3000, "word": 0 } } } },
"0x0000000000000000000000000000000000000002": { "balance": "1", "builtin": { "name": "sha256", "pricing": { "linear": { "base": 60, "word": 12 } } } },
"0x0000000000000000000000000000000000000003": { "balance": "1", "builtin": { "name": "ripemd160", "pricing": { "linear": { "base": 600, "word": 120 } } } },
"0x0000000000000000000000000000000000000004": { "balance": "1", "builtin": { "name": "identity", "pricing": { "linear": { "base": 15, "word": 3 } } } }
"0xc66eef4851b436dea3fd6492efac8784fc061612": { "balance": "1000000000000000000000" }
}
}
Ich kann den Knoten ohne Probleme booten und mich mit ihm verbinden geth attach
. Der Knoten nimmt jedoch keine Transaktionen auf, weder in der Geth-Konsole noch über truffle migrate
, dh ich sende Transaktionen an den richtigen Port, aber meine Protokolldatei sieht so aus:
2017-12-12 14:17:25 Public node URL: enode://6c6797154a0781b45a4a93ff97c7e4cf69d465910039c09d1be5a5f5e6afd4880426ca267da93a73b96b4bbd99ed3799ce3c2d5aba72e57c16a88fbfb7d827b4@192.168.1.65:7547
2017-12-12 14:17:50 0/25 peers 8 KiB chain 8 KiB db 0 bytes queue 448 bytes sync RPC: 0 conn, 7 req/s, 784 µs
2017-12-12 14:18:20 0/25 peers 8 KiB chain 8 KiB db 0 bytes queue 448 bytes sync RPC: 0 conn, 0 req/s, 68 µs
2017-12-12 14:18:50 0/25 peers 8 KiB chain 8 KiB db 0 bytes queue 448 bytes sync RPC: 0 conn, 0 req/s, 78 µs
Beachten Sie, dass keine Transaktionen erfasst werden.
Übersehe ich etwas in meiner Konfigurationsdatei?
Bearbeiten: Kann relevant sein oder auch nicht, aber meine Geth-Konsole zeigt nichts für eth.accounts
(es sollte mindestens eine pro Konfiguration geben).
Ich habe das herausgefunden. Ich habe keine verwendet --engine-signer
, also hat niemand die Transaktionen versiegelt. Nachdem ich dieses Flag angegeben hatte, erhielt ich eine Fehlermeldung, dass das Konto nicht mit der angegebenen Kette verknüpft war. Obwohl ich accounts
in der Genesis mit Äther auf die Kette gesät habe, ist dies nicht dasselbe wie Konten auf Parity selbst zu haben. Daher musste ich a festlegen --keys-path
und dort Keystore-Dateien haben, um Konten zu generieren.
Wenn das --engine-signer
Konto entsperrt ist, versiegelt meine Kette jetzt Transaktionen.
q9f
ethereum_alex