Ist es möglich, eine Funktion von Smart Contract „ohne“ die Installation von „Geth“ oder „Parity“ aufzurufen?

Ist es möglich, eine Funktion von Smart Contract aufzurufen, um eine Transaktion zu senden (z. B. Schreiben auf die Ethereum-Blockchain), aber „ohne“ die Installation von „Geth“- oder „Parity“-Clients?

Eine allgemeinere Frage: Ist es möglich, mit der Ethereum-Blockchain zu interagieren, ohne Geth oder Parity zu installieren?

Sie können mit bestehenden Knoten wie infura interagieren :)
Ist es aufgrund von Einschränkungen bei der Installation oder auf diesen Geräten möglich, infurain einer zu verwenden ? Danke micro-controllerGethParity
Es ist nur ein Endpunkt, dann können Sie sich über json rpc damit verbinden

Antworten (2)

Sie können den Code des Vertrags und den Teil der StateDB herunterladen, den dieser Vertrag zur Speicherung verwendet, sowie den Teil der SateDB der Adressen, die an Vertragsaufrufen beteiligt sind, und dann können Sie den Code dieses Vertrags binär ausführen cmd/evm:

cmd/evm run --input 0xa5e4d2b41223289af53234 --code 0xcontract'scode ....

Es ist sehr hackig, aber Sie haben gefragt, ob es möglich ist, und so ist es möglich, es ohne Installation von Gethoder zu tun Parity.

Bei der allgemeinen Frage – Interaktion mit Ethereum ohne Verwendung eines Clients – hängt es von der Definition von „Interaktion“ ab. Wenn es nur auf das Senden von Transaktionen beschränkt ist, lautet die kurze Antwort ja, vorausgesetzt, eine:

  • hat den privaten Schlüssel des Kontos
  • Kennen Sie die Nonce des Kontos
  • hat die ABI des aufgerufenen Vertrags (wird für einfachen Zahlungsverkehr nicht benötigt).

Damit kann eine Transaktion Byte für Byte aufgebaut werden. Ein konkretes Beispiel ist hier . Die konstruierte "rohe" Transaktion kann mit Tools wie dem Broadcaster von Etherscan rübergeschickt werden (na ja, theoretisch kann man sogar das loswerden, aber dann muss man - zumindest teilweise - das RLPx -Protokoll implementieren) .

Tatsächlich macht es das schwierig, eine Blockchain-Transaktion zu zensieren: Man kann die Transaktion immer offline erstellen und die Bytes per Post (oder sogar per Sprache) an Freunde senden, die dann helfen können, sie ins Netzwerk zu bringen.

Das Problem ist jedoch, dass das Senden in eine Richtung kaum als "Interagieren" bezeichnet werden kann. Damit die Dinge in beide Richtungen gehen, wird ein Empfänger benötigt, der die Gültigkeit eingehender Nachrichten überprüfen muss. Dies wiederum erfordert die vollständige Implementierung des Protokolls. Jetzt haben wir gerade "den Kunden" zurückgebracht.

Für die ursprüngliche Frage, das Aufrufen einer Vertragsmethode ohne Verwendung von geth oder parity, kann die gleiche Bytekonstruktionsmethodik aus dem oben genannten Beitrag verwendet werden, obwohl die Vertrags-ABI erforderlich wird. Siehe diese Frage für weitere Details.