¿Cuál es la forma más fácil de comprobar cuál era el saldo de la dirección X en el bloque Y? (sin servicios de terceros)

Necesito tener la posibilidad de verificar el saldo en cada dirección. Hasta ahora probé used getreceivedbyaddress, pero según tengo entendido, con este comando solo puedo verificar las direcciones que tengo en mi billetera, ¿verdad?

También encontré información, que para tener la posibilidad de analizar transacciones de otros necesito configurar en mi archivo txindex=1de bitcoin . bitcoin.confLeí que esto me ayudará con getrawtransactionlo cual podrá obtener detalles sobre cualquier transacción. ¿ txindex=1También ayudará con getreceivedbyaddress?

y por último, pero no menos importante... ¿cómo verificar el saldo de una dirección en particular en el pasado? ¿Puedo usar getreceivedbyaddress <address> 100000dónde 100000sería la cantidad de confirmaciones requeridas, por lo que verificaría los 100000bloques en el pasado?

Respuestas (1)

Como ha mencionado correctamente getreceivedbyaddress, no devuelve un valor para las direcciones que no son de nodo, es decir, las direcciones que no están en su billetera de nodos.

txindex=1 en el archivo de configuración seguido de reiniciar bitcoind con el parámetro -reindex crea índices para todos los txs para que pueda abrirlos con getrawtransaction y verificar los detalles dentro de la transacción.

La única forma en que puede verificar el saldo de las direcciones en cualquier bloque dado es rastrear todos los bloques antes del bloque en consideración y verificar el resultado de cada transacción si contiene la dirección en consideración. También deberá verificar si alguno de los votos que acaba de pasar no se ha gastado, lo que disminuiría el saldo en consecuencia.

La razón por la que existen servicios de terceros para este problema exacto respalda la noción de que esto es muy complejo, lo que podría obtener después de leer la respuesta.
Las bibliotecas de terceros están bien, siempre que pueda ejecutarlas en mi propia máquina, para no contar con algún servidor que no me pertenezca.