title: How can one obtain the message from state-reverting exception using ethereum clients, when self did not broadcast transaction?
body: <p>Suppose an ethereum smart contract has external function "foo" whose logic has state-reverting exception <code>require(1 == 0, 'error: you broke the simulation!');</code>.</p>
  
  <p>If ethereum-client A broadcasts transaction "txA" which is a function call on foo, how can ethereum-client B access the state-reverting message corresponding to "txA"? </p>
  
  <p>edit: by "how can", I mean how can a developer practically enable ethereum-client B to access this data. i.e. Can you please point me in the direction of the correct (lower-level.. not webui) api/rpc call from a particular tool?</p>
  
  <p>Clearly this is possible since block explorers provide such messages for failed transactions. I read through some of the source of etherscan, but their javascript is minimized and not easily readable.</p>
  
  <p>Thanks in advance!</p>