I am trying to understand the following function which appears in section 4.3.1 of the Ethereum Yellow Paper:

4.3.1 Ethereum Yellow Paper The function description state it "prepares" a transaction receipt, does it mean that the function does not actually perform the RLP encoding?. What is the purpose of this function?. Any pointers would be great,thanks in advance.

1 Answer 1


It is what you say the function doesn't actually perform the RLP encoding. The function is just transform a transaction receipt into a new list contain:

  • 0: The constant 0
  • Ru: the cumulative gas
  • Rb: Bloom filter composed
  • Rl: the set of logs

This function is just like what they call it prepare to be transform into RLP-serialize. If you look up ahead at this function:

Ht ≡ TRIE({∀i < ||BT||, i ∈ N : p(i, LT (BT[i]))})

p(k, v) ≡ (RLP(k), RLP(v))

Now you can easily understand that LT(BT[i]) mean the prepare for the RLP-serialize for each receipt in BT and then the function p use RLP-encode on it.

If they didn't define that earlier the function will be a lot uglier than it is (which is already very ugly).

  • Thank you for the detailed answer. Makes sense
    – drao
    Mar 1, 2020 at 15:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.