Retirar y depositar en el sitio web de intercambio de criptomonedas

En un sitio web de intercambio, simplemente reservamos transacciones en nuestra base de datos y justo cuando el usuario desea retirar su saldo de BTC, realizamos una transacción real en la red de bitcoin para él. Considere un escenario en el que un usuario deposita 2 BTC y después de algunas transacciones ahora posee 5 BTC. Su saldo de dirección pública es de 2 BTC y el servidor debe enviar 5 BTC a la dirección del usuario. Por lo tanto, el servidor debe realizar más de una transacción: 2 BTC desde su propia dirección de depósito y los 3 BTC restantes desde otra dirección que administra el servidor. En este escenario, debemos pagar una tarifa por al menos 2 transacciones. Por lo general, en el retiro cobramos una tarifa solo por una transacción del usuario. ¿El problema ahora es que el servidor debe pagar las otras tarifas? ¿Cuál es la solución para este problema?

En el escenario BTC, quiero usar la API de la aplicación de billetera de blockchain.com. Como entendí, podemos tener muchas direcciones públicas correspondientes a una clave pública extendida de billetera. Así asignamos a cada usuario una dirección pública diferente en el momento del depósito. En el momento del retiro, podemos pagar desde la billetera de blockchain para retirar la dirección del usuario. ¿Tengo razón sobre este enfoque? Puedo generar una nueva dirección de billetera blockchain con la URL " http://localhost:3000/merchant/ $guid/new_address". Pero esta url solo genera una dirección BTC. ¿Cómo genero una nueva dirección para ethereum y bitcoin cash en la api de block chain.com?

¿Es posible usar esta solución para ethereum, litecoin y...

Si no, ¿cómo puedo manejar el problema de los depósitos y retiros de muchos usuarios en un sitio de intercambio?

Disculpe la cantidad de preguntas

gracias de antemano

Respuestas (1)

Por lo tanto, el servidor debe realizar más de una transacción: 2 BTC desde su propia dirección de depósito y los 3 BTC restantes desde otra dirección que administra el servidor. En este escenario, debemos pagar una tarifa por al menos 2 transacciones. [..]? ¿Cuál es la solución para este problema?

No, simplemente puede crear una transacción, que gasta los dos UTXO en cuestión y paga a su cliente (nota: Bitcoin usa un modelo basado en UTXO para realizar un seguimiento de la propiedad de la moneda, no un modelo basado en cuenta).

¿Cómo genero una nueva dirección para ethereum y bitcoin cash en la api de block chain.com?

Las preguntas sobre altcoins, recomendaciones de proveedores de servicios y problemas de servicio al cliente están fuera de tema aquí, lo siento.