Envío de dirección a dirección en bitcoind

Estoy programando el back-end para una solución de comercio electrónico, la API de Bitcoind me brinda una forma de enviar dinero a una dirección de bitcoin:sendfrom <fromaccount> <tobitcoinaddress> <amount>

Si entendí bien, esto transferirá dinero de una cuenta a una dirección, pero no veo ninguna forma de enviar de una dirección a otra. No implementé cuentas en mi sistema backend y no quiero hacerlo porque es una capa adicional de complejidad con la que no quiero lidiar en este momento.

Entonces, supongo que esto tomará dinero de cualquier dirección o direcciones asociadas a la cuenta y las enviará a la dirección de bitcoin proporcionada. ¿Alguna forma de hacer lo que quiero hacer?

Respuestas (2)

Para encontrar los resultados de transacciones que puede gastar

listunspent 0 99999999999 "[\"addressYouWantToSpend\"]"

Luego crea el tx

createrawtransaction "[{\"txid\":\"txIdToSpend\",\"vout\":n}]" "{\"destinationAddress\":amountToSend, \"changeAddress\":changeAmount}"

Luego firme el tx

signrawtransaction <hexStringProvidedBycreaterawtransaction>

Luego publica el tx

sendrawtransaction <hexStringProvidedBysignrawtransaction>
¿No sabría las tarifas después de hacer la transacción? Esto no me permite verificar si la cuenta tiene fondos suficientes para pagar las tarifas de cuánto quiere enviar.
tarifa = valor utxo - cantidad a enviar - cantidad de cambio. Por lo tanto, está decidiendo implícitamente la tarifa cuando especifica changeAmount. No después de hacer la transacción sino antes.
Para que quede claro, algunas otras opciones para crear transacciones establecen automáticamente una tarifa razonable. Aquí tienes que elegir la tarifa tú mismo.

Tienes algunas opciones aquí. Puede crear una transacción sin procesar como se discutió en otra respuesta, pero esta es probablemente la más difícil y la más fácil de hacer mal (¡asegúrese de que sus entradas y salidas coincidan!)

Otra opción sería crear un mapeo uno a uno de direcciones a cuentas.

También puede jugar juegos con el movecomando moviendo monedas de una cuenta a otra y luego enviarlas desde esa cuenta, pero esto también es complejo.

Me encantaría evitar transacciones sin procesar también. Estaba pensando en usar una cuenta nombrada CASHOUTy movemover los bitcoins de la dirección del pedido a cualquiera de las CASHOUTdirecciones tan pronto como envíe el producto. Luego, agregaría paytxfee=<amt>para bitcoin.confsaber de antemano cuántos BTC voy a pagar y contar con esas tarifas cuando cobro a una dirección fuera del servidor, pero no estoy seguro de si eso funcionará... .