Las llamadas RPC de Bitcoin utilizan decimales de 8 dígitos ("reales") para codificar cantidades de satoshis. Por ejemplo, si obtengo un resultado de transacción, podría verse así:
{ "valor": 0.00050000, "n": 1, "scriptPubKey": { "asm": "OP_HASH160 c6e0b29d2aa23b6436cec99e65dfeed2c64a2cad OP_EQUAL", "hexadecimal": "a914c6e0b29d2aa23b6436cec99e65dfeed2c64a2cad87", "reqSigs": 1, "tipo": "scripthash", "direcciones" : [ "3KpatoAjz3H5huJJieSpH4j7qFUeTXMnFC" ] }
¿Hay alguna razón por la cual los desarrolladores decidieron trabajar con "0.00050000" en lugar de solo "50000"? Parece que sería mejor para las computadoras trabajar con un número entero.
Diría que la interfaz RPC está pensada principalmente como una interfaz de aplicación, pero también debe ser lo suficientemente simple para que la use un ser humano. Y a la computadora le importa menos de lo que crees.
Para los usuarios humanos, el uso de bitcoins decimales (en lugar de satoshis enteros) hace la vida mucho más fácil. Para las personas que escriben software para interactuar con él, hace que su vida sea infinitamente más complicada (tiene que escribir tal vez una línea adicional de código para insertar y analizar el punto decimal). La computadora que lo ejecuta tarda tal vez unos nanosegundos más en ejecutar el código, lo que nadie notará. Entonces, en general, parece que se logra más bien al incluir el punto decimal que al no incluirlo.