Ich habe eine auf Ubuntu basierende Docker-Umgebung für die Arbeit mit Geth (vorerst auf Testnet) und Geths JSON-RPC eingerichtet, aber jeder Aufruf, den ich an JSON-RPC mache, schlägt entweder mit 0, null oder einem Fehler fehl, weil die Methode dies tun würde nicht existieren. Einige Anrufe (Konten, Gaspreis) funktionieren im "normalen" Netz.
Ich habe Geth im Rinkeby Testnet mit der folgenden Zeile eingerichtet:geth --rinkeby --rpc --rpcaddr "127.0.0.1" --rpcport "8000"
Hier sind einige Beispiele dafür, was ich zurückbekomme; habe es sowohl mit localhost als auch mit 127.0.0.1 versucht. Alles in curl, in die eigene CLI des Containers eingefügt.
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionReceipt","params":["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"],"id":1}' http://localhost:8000
{"jsonrpc":"2.0","id":1,"result":null}
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getCompilers","params":[],"id":1}' http://localhost:8000
{"jsonrpc":"2.0","id":1,"error":{"code":-32601,"message":"The method eth_getCompilers does not exist/is not available"}}
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_accounts","params":[],"id":2}' http://localhost:8000
{"jsonrpc":"2.0","id":2,"result":[]}
Für das letzte Beispiel, um zu beweisen, dass es Konten gibt:
geth account list
Account #0: {678decf23eb929b88d7a55c272b73aa6e1d0d4bc} keystore:///root/.ethereum/keystore/UTC--2017-10-03T12-56-37.565267100Z--678decf23eb929b88d7a55c272b73aa6e1d0d4bc
Wenn mir jemand helfen könnte und mir sagen könnte, was die Ursache sein könnte, wäre das großartig.
Dieses Problem kann auftreten, wenn Sie Ihr Konto nicht entsperrt haben oder der Miner noch nicht gestartet wurde
- Konto entsperren:
Öffnen Sie Ihre Geth-Konsole und führen Sie den folgenden Befehl aus
personal.unlockAccount("your account key","your passphrase",time in miliseconds)
für mehr: -API
2. Um den Miner auszuführen
Öffnen Sie Ihre Geth-Konsole und führen Sie den folgenden Befehl aus
miner.start(2)
Versuchen Sie danach, Ihre Transaktionen auszuführen.
Ausgehend von der Antwort von SwapnilKumbhar fand ich heraus, dass das Problem darin bestand, dass das Konto nicht im Rinkeby-Testnet registriert war, sondern nur im regulären Netz. Speziell die Registrierung eines neuen Kontos im Rinkeby Testnet hat den Zweck erfüllt.
Raimond van Mouché