Las transacciones internas de la DAO

Necesito obtener la lista de transacciones dentro del sistema DAO. ¿Es posible o es el mismo caso de obtener las transacciones internas en Ethereum? Quiero saber si existe un mecanismo dentro de la DAO para obtener estas transacciones.

No estoy seguro, pero creo que esto podría ayudar: ethereum.stackexchange.com/questions/6320/…
Etherscan puede obtenerlos, pero necesito hacerlo por código. Por cierto, TheDAO está muerto actualmente, por lo que esta función puede esperar ahora.

Respuestas (2)

puede encontrar la lista de transacciones internas en un explorador de bloques como este, por ejemplo.

Los necesito por código, solo interactuando con un nodo de ethereum, es decir, sin usar ninguna API web externa.
Creo que estás buscando leer eventos. Las transacciones están en la cadena y tienen el campo de datos de "entrada" poblado con el nombre de la función y los parámetros de la función. Los eventos generados por las llamadas a funciones (que pueden tener muchos niveles de profundidad y recurrencia) no son transacciones directas. Pero a medida que se ejecutan las funciones, es posible que se hayan codificado para hacer entradas de registro (Eventos). Estoy empezando a pensar que esto es lo que la gente quiere decir con "transacciones internas". Creo que esto significa los registros (eventos) generados durante las llamadas a funciones. Aunque no estoy 100% seguro.

No estoy seguro de lo que quiere decir con "obtener las transacciones internas", pero tal vez haya entendido mal cómo funciona ethereum, así que aquí hay una introducción rápida.

Nada cambia, no se actualizan las variables y ningún código se ejecuta por sí solo. La ÚNICA vez que algo cambia es cuando se cumplen las siguientes condiciones:

  1. Se envía una transacción al contrato.
  2. La transacción se incluye en un bloque.

Es posible que se envíe una transacción, pero que el contrato la rechace, o que un minero no la haya incluido (todavía) en un bloque. En esas condiciones, el estado de todas las variables y datos contenidos en las estructuras no ha cambiado. Por lo tanto no hay posibilidad de que existan transacciones internas que se ejecuten fuera de estas condiciones.

Dicho esto, es posible que una vez que haya ejecutado una transacción, el primer contrato llame a otro contrato y ese otro contrato pueda llamar a otros. Si eso sucede, no verá las "transacciones" intermedias; no se registrarán en la cadena de bloques. Solo se registran los resultados de cualquier cambio de estado en las variables y los datos de esas otras "transacciones".

EDITAR : formato

Las transacciones internas son las que cambian el saldo dentro de DAO pero mantienen intacto el saldo de ethereum. Aquí: github.com/slockit/DAO/wiki/Understanding-the-DAO-accounting puede ver que se producen muchos movimientos de dinero dentro de DAO y estas transacciones no son parte de la cadena de bloques, existen en la cadena de bloques pero como código ejecutado .
No miré el código fuente, pero ¿TheDao no habilitó el registro (Eventos de solidez) en su código?