Cómo rastrear el estado de las transacciones en ethereum

Tengo un contrato inteligente de Registro de Estudiantes. El estado cambia de la siguiente manera:

  1. Cuando el Estudiante ingresa la credencial en el formulario, el estado es ABIERTO.
  2. Cuando la universidad registra al estudiante contra sus credenciales, el estado está REGISTRADO.
  3. Cuando se realiza el pago de la tarifa, el estado se PAGA.

Aquí, después de cada acción, es decir, registro o pago, recibo un hash de transacción de la transacción. ¿Cómo puedo rastrear todos los estados de este proceso solo con hash de transacción? Esto también se denomina seguimiento de auditoría. ¿Cómo puedo lograr esto en solidity o ethereum?

¿Necesita que sea solo el hash de la transacción o puede usar eventos? Los eventos son la forma limpia y recomendada de implementar algo como esto.
@TjadenHess Ya veo. ¿Estás diciendo que mantenemos los troncos fuera de cadena? Decir y db externo?
Los registros son parte de la cadena, siempre puede obtener los anteriores directamente de su cliente. Puede ser útil almacenar una base de datos para búsquedas más rápidas, pero los eventos se registran y almacenan como parte del protocolo de consenso.
Es una buena práctica aceptar la respuesta como correcta si te ayudó a resolver el problema. Ese es el objetivo de SE, ninguna de las respuestas a sus preguntas está marcada como correcta. Para tu información, si no eres consciente de ello.

Respuestas (1)

En el propio código del contrato, ya debería haber colocado 'eventos' en cada punto en el que desea realizar un seguimiento de los cambios de estado. Luego, usaría un filtro web3.js para ver los eventos en su calendario (lo siento, no tengo un enlace a ese código, pero lo más probable es que implique el uso de esta función RPC: https://github .com/ethereum/wiki/blob/master/JSON-RPC.md#eth_newfilter ).

Si aún no tiene eventos integrados en su contrato inteligente, podría extraer transacciones de un explorador de bloques como http://etherscan.io usando su funcionalidad API, pero luego tendría que publicar el proceso y tener cuidado con la cuenta. para transacciones con errores y transacciones internas.

Creo que OP está pidiendo una solución a pedido de la propia cadena.