Was ist der Unterschied zwischen JSON-RPC, Javascript-API und web3.js?

Da ich in die Blockchain-Entwicklung (Ethereum) einsteige, bin ich oft verwirrt darüber, was der genaue Unterschied zwischen web3.js [Link hier] und der Spezifikation von JSON-RPC für Ethereum auf dieser Seite ist . Und worum geht es in dieser Dokumentation ?

Sind sie gleich? Wenn nicht, wie hängen sie dann zusammen?

Ist geth conosoledasselbe wie JSON-RPC?

Ich habe versucht, nach verschiedenen Antworten zu suchen, und es scheint, dass viele Antworten dazu neigen, zwischen JSON-RPC und web3.js zu verwechseln.

Antworten (3)

Das Javascript-API-Wiki ist das Dokument für die Version 0.2xx von Web3js. Die meisten Online-Tutorials verwenden diese Version seit der kürzlich veröffentlichten Version 1.0.0. Das Web3js auf web3js.readthedocs.io ist ein weiteres Web3js-Dokument für die Version 1.0.0, das sich stark von 0.2xx unterscheidet, was erklärt, warum es zwei verschiedene Dokumente für diese Bibliothek gibt.

JSON-RPC ist die Version des Remoteprozeduraufrufprotokolls. Wenn Sie "RPC" googeln, wissen Sie, dass es in vielen verschiedenen Sprachen einfach verwendet/implementiert werden kann, nicht nur in Javascript.

In Bezug auf die Funktionalität sind sie im Grunde gleich, aber es gibt viele Versionen und es gibt viele Tutorials, die verschiedene Versionen verwenden, also ist es etwas verwirrend.

JSON-RPC ist ein zustandsloses, schlankes RPC-Protokoll (Remote Procedure Call). In erster Linie definiert diese Spezifikation mehrere Datenstrukturen und die Regeln zu ihrer Verarbeitung. Es ist insofern transportagnostisch, als die Konzepte innerhalb desselben Prozesses, über Sockets, über HTTP oder in vielen verschiedenen Nachrichtenübermittlungsumgebungen verwendet werden können. Als Datenformat wird JSON (RFC 4627) verwendet.


Die web3.js-Bibliothek ist eine Sammlung von Modulen, mit denen Sie über eine HTTP- oder IPC-Verbindung mit einem lokalen oder entfernten Ethereum-Knoten interagieren können.

JSON-RPC ist das primäre Protokoll für die Interaktion mit einem Ethereum-Client. Web3.js ist ein Javascript-Wrapper um JSON-RPC. Web3.js bietet Ihnen mehr Komfort, aber weniger Flexibilität (z. B. bei Anfragen) als JSON-RPC.