Erfordert der lokale Betrieb eines Geth-RPC-Servers auch einen vollständigen Ethereum-Knoten?

Ich habe versucht, etwas über Smart Contracts zu lernen und ein paar Beispiele durchzuarbeiten. Insbesondere habe ich diese zum Erstellen eines Oracle gefunden – https://github.com/axic/tinyoracle . Die Anweisungen geben an, dass ein RPC-Server mit dem Befehl gestartet werden soll

geth --rpc --rpcaddr "127.0.0.1" --rpcport "8545" --unlock 0

Mir ist aufgefallen, dass dies eine Menge Ausgabe erzeugt hat, einschließlich Zeilen wie unten

WARN [06-14|15:17:56] Synchronisation failed, retrying         err="block download canceled (requested)"
WARN [06-14|15:18:19] Synchronisation failed, retrying         err="block download canceled (requested)"
INFO [06-14|15:19:18] Imported new block headers               count=192 elapsed=969.455ms number=192 hash=5221b7…6c6c14 ignored=0
INFO [06-14|15:19:18] Imported new block receipts              count=192 elapsed=1.612ms   number=192 hash=5221b7…6c6c14 size=768.00B ignored=0
INFO [06-14|15:19:20] Imported new block headers               count=192 elapsed=26.918ms  number=384 hash=5377ec…85cf44 ignored=0
INFO [06-14|15:19:20] Imported new block receipts              count=192 elapsed=1.504ms   number=384 hash=5377ec…85cf44 size=768.00B ignored=0
INFO [06-14|15:19:21] Imported new block headers               count=192 elapsed=27.780ms  number=576 hash=28e01b…6ebada ignored=0

Das scheint weiterzugehen. Irgendwann habe ich den Vorgang abgebrochen. Ich bin mir nicht 100 % sicher, was passiert, aber es sieht so aus, als würde ein Ethereum-Knoten auf meinen lokalen Computer heruntergeladen. Gibt es eine Möglichkeit, einen Geth-RPC-Server auszuführen, ohne einen ganzen Knoten herunterzuladen?

Antworten (2)

Geth

Wenn Sie geth verwenden und das Netzwerk nicht angeben, wird das Standardnetzwerk verwendet, das das Hauptnetz ist, sodass mit dem Herunterladen der Blockchain begonnen wird. Wenn Sie diesen Befehl ausführen, können Sie auch angeben, mit welchem ​​​​Netzwerk Sie sprechen.

zB https://github.com/ethereumproject/go-ethereum/wiki/Command-Line-Options#external-chain-configuration-and-handling-multiple-chains

Ganache-Cli - Lokale Entwicklungsempfehlung

Wenn Sie anfangen und nur lokale Entwicklung durchführen, empfehle ich, einfach einen lokalen Knoten mit etwas wie Ganache-CLI auszuführen , da ich das Entwickler-Toolset mit Truffle ziemlich gut fand. https://github.com/trufflesuite/ganache-cli

Netzwerkbereitstellung – Wenn Sie weiterhin Geth verwenden möchten

Wenn Sie die Blockchain auf Ihrem Computer weiterhin synchronisieren möchten, um sie im Netzwerk bereitzustellen, können Sie dies alternativ tun, aber ich würde vorschlagen, eine Pruning-Methode zu verwenden (die Zeit und Platz spart). Diese Frage hilft bei der Beantwortung, wie dies zu tun ist. Was ist der Parity-Light-Pruning-Modus?

Blockchain ist eine kontinuierlich wachsende Liste von Datensätzen (Blöcken)

Die Synchronisierung wird nie aufhören, da die Blöcke kontinuierlich wachsen