Buenas a todos.
Estoy experimentando con las diferentes librerías bitcoin existentes para python, y actualmente uso pycoin.
Ahora estoy mirando de realizar una transacción a 2 direcciones bitcoin.
Me explico:
- Dirección Original tiene 1 btc. Quiero enviar 0.3 btc a la dirección A y 0.7 btc a la dirección B (Evidentemente menos las comisiones)
Mirando las diferentes instrucciones que tiene pycon, ya he hecho varias pruebas exitosas para pasar todo lo que hay en una dirección, a la otra, pero lo que no consigo es enviar a 2 billeteras, o lo que es lo mismo, en lugar de enviar el 100% del saldo, enviar, por poner un ejemplo, simplemente el 40%.
Pongo un ejemplo de como hago el envío total, por si alguien me puede ayudar:
from pycoin.key import Key
from pycoin.key.validate import is_address_valid, is_wif_valid
from pycoin.services import spendables_for_address
from pycoin.tx.tx_utils import create_signed_tx
def hacer_sweep(src_address,wif, dst_address):
spendables = spendables_for_address(src_address,"BTC")
key = Key.from_text(wif)
if src_address not in (key.address(use_uncompressed=False), key.address(use_uncompressed=True)):
print("** WIF NO CORRESPONDE A %s" % src_address)
print("EL EXPONENTE SECRETO ES %d" % key.secret_exponent())
try:
tx = create_signed_tx(spendables, payables=[dst_address], wifs=[wif], fee= 'standard')
pushtx(tx.as_hex())
print ('### SWEEP REALIZADO CORRECTAMENTE ###')
return 1
except:
print ('### ERROR - SWEEP NO REALIZADO ###')
return -1
s = hacer_sweep(DIRECCION BTC ORIGEN, PRIVADA ORIGEN, DIRECCION BTC DESTINO)
He probado de poner la cantidad a enviar de la siguiente manera:
tx = create_signed_tx(50000, payables=[dst_address], wifs=[wif], fee= 'standard')
pero me ha generado una operación que creo que se ha ido directamente al minero... :-(
¿Alguna idea?