¿Qué nodo puede proporcionar transacciones en el bloque 0?

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.

Respuestas (1)

Recibí la respuesta a esta pregunta en Gitter, así que publiqué los resultados aquí:

  1. No hubo transacciones en el bloque 0.
  2. Los resultados de ambos nodos son las verdades canónicas.
  3. El estado de génesis de ethereum comenzó con pocos saldos de cuenta.
  4. "El bloque de génesis tiene un montón de saldos; supongo que Etherscan ha implementado sus propias 'transacciones virtuales' para equilibrar los libros".

Los saldos del estado de génesis se pueden encontrar aquí.