Warum verwenden die Bitcoin RPC Calls Dezimalzahlen für Münzbeträge?

Die Bitcoin-RPC-Aufrufe verwenden alle 8-stellige Dezimalstellen („Reale“), um Mengen an Satoshis zu codieren. Wenn ich zum Beispiel eine Transaktionsausgabe erhalte, könnte sie so aussehen:

{
  "Wert" : 0.00050000,
  "n" : 1,
  "scriptPubKey" : {
  "asm": "OP_HASH160 c6e0b29d2aa23b6436cec99e65dfeed2c64a2cad OP_EQUAL",
  "hex": "a914c6e0b29d2aa23b6436cec99e65dfeed2c64a2cad87",
  "reqSigs": 1,
  "type": "scripthash",
  "Adressen" : [
    "3KpatoAjz3H5huJJieSpH4j7qFUeTXMnFC"
  ]
}

Gibt es einen Grund, warum sich die Entwickler entschieden haben, mit „0.00050000“ statt nur mit „50000“ zu arbeiten? Eine ganze Zahl scheint besser für Computer geeignet zu sein.


BEARBEITEN: Ich denke, die andere Hälfte davon ist, dass, wenn die RPC-Aufrufe von einer Person verwendet werden, es einfacher ist, Beträge in Dezimalzahlen zu verwenden (ein Mensch kann den Unterschied zwischen 5,5 und 0,55 viel einfacher erkennen als 55000000 und 5500000 ). Ich denke, die eigentliche Frage ist, ob die RPC-Schnittstelle eher für die Verwendung in der menschlichen Befehlszeile oder für die Verwendung von Codierungsanwendungen gedacht ist.

Antworten (1)

Ich würde sagen, die RPC-Schnittstelle ist hauptsächlich als Anwendungsschnittstelle gedacht, aber sie soll auch so einfach sein, dass sie von einem Menschen verwendet werden kann. Und den Computer kümmert es weniger, als Sie denken.

Für menschliche Benutzer macht die Verwendung von dezimalen Bitcoins (anstelle von ganzzahligen Satoshis) das Leben erheblich einfacher. Für Leute, die Software schreiben, um damit zu interagieren, macht es ihr Leben nur unwesentlich komplizierter (Sie müssen vielleicht eine zusätzliche Codezeile schreiben, um den Dezimalpunkt einzufügen und zu analysieren). Der Computer, auf dem es läuft, braucht vielleicht ein paar Nanosekunden mehr, um den Code auszuführen, was niemand bemerken wird. Alles in allem scheint es also so, als ob durch die Einbeziehung des Dezimalpunkts mehr Gutes erreicht wird als ohne.