I am running a solana-test-validator locally. When shutting it down and restarting it, the balances for accounts persist - so I am sure that not everything was reset. However, transactions which were sent to such account disappear from the transaction history at https://explorer.solana.com/ (connected to localhost, but also with a general RPC check). I was assuming, that the history would be kept. --limit-ledger-size might not be related here, because it's also happening with the very first transactions.
1 Answer
--limit-ledger-size
is absolutely crucial here. It tells how many shreds to keep around, and defaults to 10k. Since every block will have at least one vote, that means every 400ms block will have at least one shred to keep around (maybe more for erasure shreds, I'm not sure if those are kept around).
At 10k shreds, and 400ms blocks, you're looking at a maximum of one hour of data kept around (10000 * .4s = 4000s). It might be even less if there are lots of transactions in the blocks. All that to say, feel free to increase the number of shreds by 10x or 100x!