d'Economía.net

Cómo configurar el cambio de dirección con python bitcoinlib


Estoy usando bitcoinlib de python para intentar configurar pagos en los que un cliente envía fondos a un servidor y luego envía solicitudes firmadas con su clave como prueba de que la solicitud provino de ellos. El servidor realiza un seguimiento de cuántos fondos quedan. Además, se espera que un cliente se conecte a muchos nodos. Me gustaría tener solo un par de direcciones clave para realizar un seguimiento en el cliente.

A menos que me equivoque, la forma más fácil de hacerlo sería enviar el cambio a la dirección original en la transacción de pago.

Sin embargo, las funciones wallet.send y wallet.create_transaction de bitcoinlib no le permiten configurar las direcciones de cambio.

Además, traté de crear una transacción usando transaction_create, tomando el cambio de salida y creando una nueva dirección con ese valor de cambio enviado a la dirección original.

t = w1.transaction_create([(k2.address, 100)], account_id=0)
change = list(filter(lambda x: x.address != k2.address, t.outputs))[0]
new_t = w1.transaction_create([(k2.address, 100), (k1.address, change.value)], account_id=0)

pero obtengo un

bitcoinlib.wallets.WalletError: No se encontraron suficientes salidas de transacciones no gastadas

en la segunda transacción_crear.

¿Cómo puedo configurar el cambio de dirección de la transacción?

Además, si este es el enfoque incorrecto, ¿cuál sería el correcto?



Artículo fuente