When I run a particular transaction and log the receipt, I am getting different results depending on if my EVM is Geth or Ganache. Specifically, Ganache returns receipt.logs[0].type: 'mined'
while in Geth, there is no type
member of logs[0] and there is instead receipt.logs[0].removed: 'false'
(the receipt from Ganache has no removed
member.). The rest of the receipt looks pretty similar between the two EVMs, ignoring member order.
Is there a reliable source about what fields my program should expect to find in an Ethereum transaction receipt? If so, does one (or both) of these two implementations need a bug report for being inconsistent with that?