¿Cómo se tomaría una "instantánea" de direcciones y saldos de las 6.086.374 direcciones normales en el número de bloque 4293752?
Creo que OP significa completo hasta el último nodo actualmente aceptado que se extrajo hace un rato.
Una forma sería crear su propio explorador, ejecutar un nodo geth, adjuntar una consola y usar la biblioteca JavaScript web3 ( https://github.com/ethereum/wiki/wiki/JavaScript-API ), obtener cada bloque usando getBlock. obtenga cada transacción y encuentre las direcciones de origen y destino: obtenga el saldo de la dirección ( https://github.com/ethereum/wiki/wiki/JavaScript-API#web3ethgetbalance )
Por supuesto, probablemente querríamos limitar esto a direcciones de billetera o direcciones de cuenta. No veo cómo podemos saber eso... todavía buscando.
Obtener los saldos es fácil, hay una API web3.eth.getBalance . Puedes especificar de qué bloque quieres el saldo.
La parte difícil es recopilar las direcciones. Si no desea utilizar una API externa como etherscan, debe crear una base de datos que procese todas las transacciones en la cadena de bloques que registre el remitente y el receptor.
Aún le faltarán cuentas creadas por "transacciones internas". Para eso, debe usar API de seguimiento de bajo nivel de geth/parity.
pulmónj
Documento