Ayúdame a calcular una tarifa de transacción

Tengo dificultades para averiguar cómo calcular una tarifa de transacción. He leído la teoría, pero no entiendo cómo obtener los valores para poner la teoría en práctica.

¿Puede alguien ayudarme a resolver esto paso a paso? Si quiero enviar 0.05XBT de: mvDLEEymmEijZXyrrNRL3aPMhH8q2m8vE1a mxgxQ52kYRVPfLeYpXugkCAGhjLfUaZk3g. ¿Cómo calculo la tarifa de transacción?

Si su respuesta pudiera usar estas claves públicas para que pueda probarlas según las instrucciones en su respuesta, realmente lo agradecería.

Usando la línea de comando de bitcoin-qt, tengo los siguientes detalles:

listunspent [ { "txid" : "9df9c897af413505c02f158a7421b39000b40248a3bb826831ff458aee84f8ca", "vout" : 1, "address" : "mvDLEEymmEijZXyrrNRL3aPMhH8q2m8vE1", "account" : "From http://faucet.xeno-genesis.com/ ", "scriptPubKey" : " 76a914a134b5919d09350f6232260ed1313f73ac6b7bae88ac", "cantidad": 1.19994817, "confirmaciones": 364 } ]

Entonces podría usar esto:

createrawtransaction '[{"txid":"d3be60aaf98ef888a9137928fa405806cd2e0c762f5205b3d9ba3e6ad26a5262","vout":1}]' '{"mxgxQ52kYRVPfLeYpXugkCAGhjLfUaZk3g":0.05,"mvDLEEymmEijZXyrrNRL3aPMhH8q2m8vE1":1.14974817 }'

Pero esto "supone" una tarifa de 0.0002XBT.

Entonces puedo firmar la transacción así:

signrawtransaction '010000000162526ad26a3ebad9b305522f760c2ecd065840fa287913a988f88ef9aa60bed30100000000ffffffff02404b4c00000000001976a914bc5e62709adc296640dfed6871f0ebff5a7d11c588ac6160da06000000001976a914a134b5919d09350f6232260ed1313f73ac6b7bae88ac00000000' '[{"txid" : "d3be60aaf98ef888a9137928fa405806cd2e0c762f5205b3d9ba3e6ad26a5262","vout" : 1,"scriptPubKey" : "76a914a134b5919d09350f6232260ed1313f73ac6b7bae88ac"}]' '["private key here"]'

Lo que me da esto:

010000000162526ad26a3ebad9b305522f760c2ecd065840fa287913a988f88ef9aa60bed3010000006b483045022100f447788e6b40a1f8bd22b084c8507a7710bd5c8cb33b08082c308a7a0edc86d402204024287053715bc096e56744e45683bb63b32ebe56a2f2070fd318216512641d012103ca4eab4b394090c9f4c10b6a9c2674dfc14c7dee55b6d3eb72c4263fc325c37effffffff02404b4c00000000001976a914bc5e62709adc296640dfed6871f0ebff5a7d11c588ac6160da06000000001976a914a134b5919d09350f6232260ed1313f73ac6b7bae88ac00000000

Que es de 452 bytes.

Aparentemente, se supone que también cuente la cantidad de entradas y salidas. Entiendo que la tarifa puede volverse más compleja según la antigüedad de la transacción y si envío una cantidad muy pequeña. Pero solo para fines de ejemplo, ¿cómo calcularía la tarifa de transacción usando las 2 claves públicas anteriores si quisiera enviar 0.05XBT? Entonces, ¿puedo restar la tarifa del cambio cuando uso el createrawtransactioncomando en bitcoin-qt?

Respuestas (1)

Puedo calcular la prioridad de la transacción (527 confirmaciones actualmente, ~452 bytes):

119994817 * 527 / 452 = 139,905,461

Dado que supera el mínimo de 57 600 000 y cumple con las otras reglas para transacciones gratuitas : es decir, que la transacción es inferior a 1000 bytes y no tiene salidas inferiores a 0,01 BTC, esta transacción puede ser gratuita. No necesita incluir una tarifa de transacción: haga que la suma de las salidas sea exactamente igual a la cantidad de entrada.

Si su transacción no cumplió con los requisitos para una transacción gratuita, o si no desea que se trate como una transacción gratuita (que tiene algunos límites en la transmisión, etc. que podrían ralentizar su inclusión en un bloque), deberá incluir una tarifa de transacción de 0,0001 BTC por cada mil bytes (por ejemplo, hasta 1000 bytes es 0,0001, 1001-2000 bytes es 0,0002, etc.)

(esto supone que la red de prueba tiene las mismas reglas para las tarifas de transacción que la red principal de Bitcoin)

¿Qué tal el número de entradas y salidas? ¿Cómo obtengo esos valores?
Ya lo especificaste cuando dijiste "Si quiero enviar 0.05XBT desde: mvDLEEymmEijZXyrrNRL3aPMhH8q2m8vE1 a mxgxQ52kYRVPfLeYpXugkCAGhjLfUaZk3g.". Dado que mvDLEE... solo tiene una salida no gastada acreditada, debe tener una entrada. Y dado que solo desea dar una parte de eso a mxgx... debe tener al menos una dirección de cambio. A menos que agregue una complejidad innecesaria, la cantidad de entradas es 1 y la cantidad de salidas es 2. En algunos casos, la tarifa de transacción puede cambiar esto, pero este es un ejemplo simple.