Estamos construyendo una plataforma de análisis de datos para transacciones de ethereum. Estoy usando un nodo de paridad local y un nodo Infura Geth pero no puedo encontrar las transacciones que ocurrieron en el bloque 0.
Etherscan me dice que el bloque 0 tiene 8893 transacciones, pero estas transacciones no están disponibles en ambos nodos.
Resultado del nodo Infura
>>> from ethjsonrpc import InfuraEthJsonRpc
>>> c = InfuraEthJsonRpc(network='mainnet')
>>> block_data = c.eth_getBlockByNumber(0)
>>> block_data
{u'nonce': u'0x0000000000000042', u'receiptsRoot': u'0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421', u'hash': u'0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3', u'uncles': [], u'timestamp': u'0x0', u'sha3Uncles': u'0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347', u'miner': u'0x0000000000000000000000000000000000000000', u'parentHash': u'0x0000000000000000000000000000000000000000000000000000000000000000', u'extraData': u'0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa', u'gasLimit': u'0x1388', u'number': u'0x0', u'stateRoot': u'0xd7f8974fb5ac78d9ac099b9ad5018bedc2ce0a72dad1827a1709da30580f0544', u'difficulty': u'0x400000000', u'transactionsRoot': u'0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421', u'size': u'0x21c', u'transactions': [], u'mixHash': u'0x0000000000000000000000000000000000000000000000000000000000000000', u'totalDifficulty': u'0x400000000', u'gasUsed': u'0x0', u'logsBloom': u'0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'}
Resultado del nodo de paridad
>>> from ethjsonrpc import ParityEthJsonRpc
>>> c = ParityEthJsonRpc()
>>> block_data = c.eth_getBlockByNumber(0)
>>> block_data
{u'transactionsRoot': u'0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421', u'gasLimit': u'0x1388', u'number': u'0x0', u'size': u'0x21c', u'author': u'0x0000000000000000000000000000000000000000', u'mixHash': u'0x0000000000000000000000000000000000000000000000000000000000000000', u'sha3Uncles': u'0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347', u'miner': u'0x0000000000000000000000000000000000000000', u'logsBloom': u'0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', u'nonce': u'0x0000000000000042', u'hash': u'0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3', u'uncles': [], u'transactions': [], u'timestamp': u'0x0', u'sealFields': [u'0xa00000000000000000000000000000000000000000000000000000000000000000', u'0x880000000000000042'], u'receiptsRoot': u'0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421', u'difficulty': u'0x400000000', u'parentHash': u'0x0000000000000000000000000000000000000000000000000000000000000000', u'extraData': u'0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa', u'stateRoot': u'0xd7f8974fb5ac78d9ac099b9ad5018bedc2ce0a72dad1827a1709da30580f0544', u'totalDifficulty': u'0x400000000', u'gasUsed': u'0x0'}
Generalmente, la información de la transacción se agrega después de la información del bloque. Ninguno de los nodos brinda transacciones que ocurrieron en el bloque 0 en la respuesta.
¿Dónde puedo obtener esta información? Preferiría raspar estos datos de un nodo ethereum.
Recibí la respuesta a esta pregunta en Gitter, así que publiqué los resultados aquí:
Los saldos del estado de génesis se pueden encontrar aquí.