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?

closed as off-topic by eth Feb 5 '18 at 22:01

  • This question does not appear to be about Ethereum, the decentralized application platform and smart contract enabled blockchain, within the scope defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

  • wtf is this? you should answer your own question and not cross out the question and answer it inside it – knocte Feb 5 '18 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 '18 at 22:01