Web3.js oder Web3.py? Was ist die ausgereiftere API für die Interaktion mit Ethereum?

Ich habe ein neues Dapp-Projekt gestartet und versuche, den besten Weg für einen schnellen Prototypen zu finden (Back- und Front-End-Entwicklung). Ich bin größtenteils mit Python vertraut, also suche ich nach allen Elementen, um eine Dapp in Python zu erstellen, und ich frage, ob die Python-Umgebung ausgereift genug ist, um mit Ethereum verwendet zu werden.

Nach Reife frage ich, welche Sprache bei der besten Community am beliebtesten ist, mit einer guten Stabilität und mit der besten Integration in das Framework Truffle/Ganache?

Vielen Dank !

„Ich habe ein neues DApp-Projekt gestartet“ – möchten Sie, dass Benutzer Ihre DApp im Browser besuchen und verwenden? Dann müssen Sie diesen Teil in web3.js schreiben. Wenn Sie andere Automatisierungsaufgaben haben, die mit der Blockchain interagieren, bevorzugen Sie möglicherweise web3.py. Es kommt eher darauf an, wie Sie es verwenden möchten, als darauf, welches ausgereifter ist.
Ja, ich möchte einige Benutzer auf meinem Dapp über den Webbrowser, aber warum konnte ich web3.py nicht mit Python-Webframework wie Django oder Flasche verwenden?
Sie können web3.py auf der Serverseite verwenden, aber nur für einige Aspekte der Dapp. Beispielsweise können Benutzer keine Transaktionen signieren, um mit Ihrem Vertrag zu interagieren. Dazu müssen Sie web3.js auf der Clientseite der Dapp einrichten.
Ich verstehe nicht, warum ich web3.py nicht auf der Clientseite verwenden konnte, wenn ich das Django-Webframework als Beispiel verwende? Es ist nicht möglich, web3.py zu verwenden, indem Sie eine Funktion einrichten, die vom Frontend aufgerufen wird?
Wie wir hier sehen können: ethereum.stackexchange.com/questions/13128/… - Wir können Web3.js mit Node.js verwenden, warum konnten wir also keine ähnliche Logik für Python verwenden?

Antworten (1)

Vorteile von web3.js

  • JavaScript ist die einzige Sprache, die in Webbrowsern ausgeführt wird, und daher haben Sie beim Erstellen von Benutzeroberflächen keine andere Option

  • Die web3.js-Community ist größer, da JavaScript de facto eine Frontend-Sprache ist

Vorteile von web3.py

  • Bitte beachten Sie, dass Sie web3.py auch in Desktop-Apps, Befehlszeilen-, serverseitigen Programmier- und Testumgebungen verwenden können

  • Code, der mit Smart Contracts interagiert, ist aufgrund der Verwendung von Threads einfacher zu lesen und zu verfolgen

  • Das Testen von Frameworks und das Testen unserer Smart Contracts mit web3.py wird mit ausgereifteren Tools geliefert, die es einfacher machen, besser lesbare und wartbare Tests zu schreiben

  • Python ist die Sprache der EVM-Entwicklung der nächsten Generation (Casper) und besser für Forschungszwecke geeignet

Sehr interessante Antwort, danke! Ihrer Meinung nach scheint web3.py eine große Zukunft im Ethereum-Ökosystem zu haben, und ich stimme Ihnen definitiv zu, dass Python besser lesbar ist als Javascript. Aber effektiv ist die Community in JavaScript aktiver und laut web3.py GitHub sind einige Fehler noch offen. Aber egal, ich werde versuchen, mein Projekt mit Python zu erstellen, mal sehen, ob es funktioniert!
web3.py gitter ist sehr freundlich und mit wenig Geduld bekommt man gute Antworten
web3.py unterstützt eth_subscribe github.com/ethereum/web3.py/issues/1402 nicht