Dado que estoy conectado a la red con al menos un par, ¿puedo estar seguro de que una transacción que envié se ejecutará (ya sea con éxito o falla)? ¿Existe la posibilidad de que nunca llegue a la cadena de bloques, de modo que el remitente no gaste nada? ¿Qué sucede si se incluyó en algún bloque, pero luego el bloque queda huérfano? ¿Se "eliminará" mi transacción?
Si existe tal posibilidad, ¿cómo lidiar con ella? Dado que registro el TxHash
, ¿puedo/debo verificarlo regularmente, y si aún no existe después de una "gran" cantidad de bloques, alertar al usuario que su transacción no se ejecutó y debe enviarla nuevamente? Esta solución parece que es propensa a duplicar el gasto. Además, de esta respuesta entiendo que una transacción puede desaparecer y reaparecer mucho más tarde, por lo que la "gran" cantidad de bloques a esperar es indefinida. Entonces , ¿ cómo puedo asegurarme de que una transacción esté incluida en la cadena de bloques?
Gracias
Las cadenas de bloques basadas en la Prueba de trabajo son probabilísticas y, a medida que se construyen más bloques sobre el bloque que contiene una transacción, la probabilidad de que una reorganización de la cadena elimine ese bloque y la transacción se vuelve extremadamente baja.
¿Puedo/debo verificarlo regularmente, y si aún no existe después de una "gran" cantidad de bloques, alertar al usuario de que su transacción no se ejecutó y debe enviarla nuevamente?
Sí, y para ver algunos códigos, consulte ¿Cómo puede una DApp detectar una reorganización de bifurcación o cadena usando web3.js o bibliotecas adicionales?
En mainnet, alrededor de 12 confirmaciones se consideran seguras. (En redes de prueba como Ropsten, las garantías son mucho más débiles e incluso 64 confirmaciones son insuficientes ).
Para asegurarse de que una transacción esté incluida en la cadena de bloques, asegúrese de que tenga:
un precio de gasolina razonable (para que los mineros lo incluyan en un bloque)
suficiente gasolina (para que no se revierta la transacción)
Luego transmita la transacción a una docena de pares y supervísela usando múltiples clientes.
jeff
ética