Quiero escribir un código que acepte una transacción y luego "devuelva" una cierta cantidad al origen de la transacción.
Suponga que los usuarios utilizarán el cliente estándar. ¿Las transacciones tendrán una sola entrada o debo manejar la situación en la que una transacción tiene múltiples entradas?
¿Puedo simplemente elegir una de estas entradas y pagar esa entrada? Quiero evitar tener que solicitar a los usuarios que ingresen una dirección de pago de Bitcoin: es mucho más ordenado simplemente pagar a la misma dirección que usaron.
Asumir que el usuario usa el cliente estándar, o de hecho cualquier cliente, es una suposición muy fuerte. Si el usuario está utilizando un servicio de billetera electrónica como Instawallet, con toda probabilidad el usuario no recuperará los fondos, serán retenidos por el operador y posiblemente acreditados a uno de sus otros clientes.
Incluso si las direcciones de entrada están controladas de alguna manera por el usuario, el pago a una de ellas puede causar confusión con respecto a la fuente del pago: parecerá que el pago fue por la dirección con la que se asoció originalmente. Si hay un cambio de dirección controlado por el usuario, se asocia únicamente con el pago que se le hizo a usted, por lo que existe la información para identificarlo, aunque es posible que el cliente no lo muestre correctamente.
Como cualquier usuario puede recibir fácilmente Bitcoins con múltiples direcciones, las transacciones que envían pueden tener múltiples entradas. Hay un par de casos que deberías considerar:
En general, debe proporcionar a los usuarios diferentes funcionalidades, probablemente cada uno usando una dirección diferente para sus transacciones y ver cuáles se usan con más frecuencia.
destripador234
Meni Rosenfeld