In current geth, how long (in terms of blocks) will a state tree node put into the death row before being pruned? Does this vary among different sync mode? And can we configure it?

Besides state trees are pruned, will blocks/ transactions/ transaction receipts stored in geth node be 'pruned' after certain period of time? Or do they persist unless i re-sync the client?

Edited on 2 Nov 2017: For the 2nd question, this post answered that only state trees are pruned. Blocks or any other data remain since a joining node needs these data to sync.

Edited on 13 Nov 2017: For the 1st question, seems Vitalik's state trie pruning was not implemented. (Ref: this PR). So that's no such death row (mentioned by Vitalik) config in geth. And EIP-161 seems to be the only state trie pruning technique available in geth now. So in full sync mode, no past states of existent accounts are pruned and all state tries from genesis block to current block are kept. And in fast sync mode, only state tries of recent blocks with dead accounts pruned are stored. Am I correct?

  • wtf is this? you should answer your own question and not cross out the question and answer it inside it
    – knocte
    Feb 5, 2018 at 10:51
  • I'm voting to close this question as off-topic because per a user flag: " it was a question and the original poster doesn't know how to use stackExchange because he didn't answer his own question, and instead he crossed it out and answered it inside the question"
    – eth
    Feb 5, 2018 at 22:01