Warum ist Python in Bitcoin-Projekten beliebt?

Wenn ich mir Open-Source-Projekte im Zusammenhang mit Bitcoin ansehe, sehe ich, dass viele in der Python-Sprache geschrieben sind oder diese in großem Umfang verwenden. Ich verwende hauptsächlich Ruby und habe wenig Erfahrung mit Python; deswegen würde ich gerne wissen warum das so ist.

In diesem Github-Suchergebnis können Sie sehen, dass Python an zweiter Stelle steht, wenn Sie nach dem Schlüsselwort „Bitcoin“ suchen.

Es ist nicht auf Bitcoin beschränkt, aber Python ist aus Gründen, die in den Antworten erwähnt werden, im Allgemeinen in Finanztechnologieprojekten beliebt.
Ich muss einen Überblick über Ruby erhalten, um Ihnen mitzuteilen, warum Python besser ist, aber folgen Sie dem Blogbeitrag von Richard Kiss in meiner Antwort, um zu sehen, wie großartig Python ist (verwenden Sie Python v 2.7).
Es gibt jetzt ein Python-Framework für die Entwicklung von Kryptoasset-Anwendungen: bitbucket.org/miohtama/cryptoassets (Haftungsausschluss: Ich bin einer der Autoren)

Antworten (2)

Im Vergleich zu Sprachen wie Java oder C++ hat Python mehrere Vorteile für die Codierung von Bitcoin-Projekten:

  • Vereinfachte Codierungsregeln ermöglichen es Anfängern und Erfahrenen gleichermaßen, zu codieren und Ergebnisse zu erzielen, ohne sich in Formatierung usw. zu verzetteln
  • Shell ermöglicht On-the-Fly- Berechnungen
  • Python-Code ist leicht lesbar und kann daher entsprechend bearbeitet werden
  • Python kann in eine ausführbare Datei kompiliert oder unkompiliert ausgeführt werden

Ich nehme an, Python eignet sich im Wesentlichen hervorragend für kleine Skripte/Anwendungen, und diese kleinen Anwendungen stimmen oft mit schwierigen Mechanismen des Bitcoin-Protokolls überein, die stark vereinfacht sind.

Der Vorbehalt ist natürlich, dass die meisten Bitcoin-Python-Dienstprogramme (Pybitcointools, Pycoin, sx/libitcoin) Python Version 2 erfordern, während Python 3 die aktuelle Version ist und 3.x erstaunlicherweise nicht abwärtskompatibel mit Python 2 ist

Wenn Sie ein Gefühl dafür bekommen möchten, was Python zu bieten hat, schauen Sie sich entweder Folgendes an:

Ich denke, viele Projekte bewegen sich in Richtung ATM mit Python-3-Kompatibilität, auch wenn es noch nicht so weit ist.
@MikkoOhtamaa ja, du hast recht. Es hat mich einfach umgehauen, als ich die Frage stellte: "Warum funktioniert mein Python 2 nicht in Python 3?" und die Antwort war ein allgemein akzeptiertes "keine Rückkompatibilität"
Sie können Python schreiben, das direkt mit Python 2 und Python 3 kompatibel ist. Aber die meisten Leute haben es nicht getan. Jetzt geht die Welt langsam in die Phase über, in der die Bibliotheken auf beiden laufen.

Ich verwende Pycoin ( https://github.com/richardkiss/pycoin ) gerade in einem Projekt, um die Daten zu überprüfen, die in einer Bitcoin-Transaktion signiert werden müssen, also denke ich, dass ich dazu sprechen kann.

  • Python ist gut, weil es einfach ist, Projekte schnell zum Laufen zu bringen.
  • Es gibt Bibliotheken, die Dingen wie ECDSA die Arbeit abnehmen.
  • Python ist eine zugänglichere Sprache als der Versuch, in C++ zu codieren, mit all diesen Zeigern und Referenzen, ganz zu schweigen vom Kompilieren. Das Ausführen einer interpretierten Sprache wie Python hat hier den Vorteil.

Der Nachteil ist jedoch, dass Python nicht für alle Anwendungen skalierbar genug sein wird. Es gibt einen Grund, warum beispielsweise der Core-Client nicht in Python geschrieben wurde.