Какой узел может обеспечивать транзакции в блоке 0?

Мы создаем платформу аналитики данных для транзакций Ethereum. Я использую как локальный узел Parity, так и узел Infura Geth, но не могу найти транзакции, которые произошли в блоке 0.

Etherscan сообщает мне, что блок 0 имеет 8893 транзакции, но эти транзакции недоступны в обоих узлах.

Результат узла 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'}

Результат узла четности

>>> 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'}

Как правило, информация о транзакции добавляется после информации о блоке. Ни один из узлов не выдает в ответ транзакции, произошедшие в блоке 0.

Где я могу получить эту информацию? Я бы предпочел очистить эти данные от узла Эфириума.

Ответы (1)

Я получил ответ на этот вопрос на Gitter, поэтому публикую результаты здесь:

  1. В блоке 0 транзакций не было.
  2. Результаты обоих узлов являются каноническими истинами.
  3. Состояние генезиса эфириума началось с небольшого количества остатков на счетах.
  4. «В блоке генезиса есть куча балансов; я предполагаю, что Etherscan реализовал свои собственные «виртуальные транзакции» для балансировки книг».

Балансы состояния генезиса можно найти здесь