Ayuda con la tarifa de transacción sin procesar: tarifa absurdamente alta

He estado trabajando en mi billetera Litecoin por un tiempo. Pero parece que no puedo controlar la tarifa de transacción cuando realizo transacciones sin procesar.

Sé cómo enviar transacciones con Litecoin-Qt GUI: https://live.blockcypher.com/ltc/tx/2b2f0aab9d2661840a60b172dcda24f359e85b7dbd0810e7afb2d3a6c0b8e59c/

No hay problema con eso, la tarifa fue de 0.00017 LTC ​​y se incluyó en el siguiente bloque. El vsizede este TX = 170, lo que explica la tarifa LTC de 0.00017.

Pero también estoy trabajando en mi propia billetera en mi VPS con Litecoin-CLI. Hice un TX sin procesar, lo firmé y lo envié. Esto sucedió: https://live.blockcypher.com/ltc/tx/32ceefc7f377ad53c91922dffe62e6fd19e48a46d6afb4d610c2c090646404dc/

¡Una tarifa de transacción de 0.1 LTC! Y el vsizees sólo 192.

Volví al archivo litecoin.conf y tiene el paytxfee=0.001parámetro. Lo que significa que me costaría 0,001 LTC/kB. maxtxfeeaún no estaba activado, pero ahora lo está con un valor de 0.001. Cuando intento enviar ahora, solo me indica: "error":{"code":-26,"message":"256: absurdly-high-fee"}.

¿Qué estoy haciendo mal?

(Sí, estoy probando mi billetera en la red principal, soy estúpido)

Respuestas (2)

La tarifa de una transacción es solo la diferencia entre el valor de entrada y el de salida. En la segunda transacción que publicó, el valor de entrada fue 0,25 LTC y el valor de salida fue 0,15 LTC, por lo que pagó una tarifa de 0,1 LTC (0,25-0,15) como dice. Si elige una entrada que es más grande que la salida que desea enviar, así como la tarifa, debe crear una salida de cambio para enviar el resto también a su billetera; de lo contrario, todo irá a los mineros como tarifas. Por ejemplo, si su entrada fue de 0,25 LTC y desea enviar 0,15 LTC y solo pagar una tarifa de 0,01 LTC, su transacción deberá tener dos salidas, una por 0,15 LTC y otra por 0,09 LTC a una dirección de su propiedad. para que la tarifa total sea solo (0.25-(0.15+0.9) = 0.01)

Encontré fundrawtransactionlo que lo hizo realmente fácil.

Parece que está creando una transacción a mano usando el createrawtransactioncomando RPC. createrawtransactionno está influenciado por ninguno de los comandos o parámetros de tarifas de transacción en absoluto. Deberá establecer la tarifa manualmente cuando lo haga creando salidas de cambio según sea necesario.

Como dijo MeshCollider, la tarifa de transacción es la diferencia entre la suma de las entradas y la suma de las salidas de una transacción. Entonces, cuando use createrawtransaction, debe asegurarse de que la suma de las salidas que cree no sea demasiado baja o demasiado alta.

Si no desea hacer esto manualmente, puede usar el fundrawtransactioncomando que seleccionará entradas de su billetera y creará salidas de cambio según sea necesario. fundrawtransactionmaneja las tarifas de transacción.