* Accelerator: partial fullnodes
1) Node can monitor a subset of shards
2) New archive slice format (sharded)
3) Validators are still required to have all shards
4) Support partial liteservers in lite-client, blockchain explorer, tonlib
5) Proxy liteserver
* Fix compilation error
* Persistent state download improvements
1) Don't start over on restart
2) Download shards one at a time to reduce RAM usage
3) More logs
* Remove old peers from adnl stats
This commit contains some parts of https://github.com/ton-blockchain/ton/tree/accelerator
This is auxiliary code that mostly does not change node behavior.
1) Semiprivate overlays and other improvements in overlays code
2) Rename actual_min_split -> monitor_min_split, fix building shard overlays
3) Loading block candidates by block id from DB, fix accept_block after validator restart
4) Cells: ProofStorageStat and changes in CellUsageTree
5) Remove some unused code, other minor changes
* Option "--disable-ext-msg-broadcast"
* "Get shard out queue size" query
* Move disabling ext msg broadcasts from command-line arguments to config
* Fix compilation error
* Asynchronous store_cell and gc in celldb
* Make GC in celldb work evenly over time
* Increase timeouts for downloading blocks
* Reuse blocks from previous rounds in validator session
* Use Rldp2 in FullNode for downloading persistent states and archives
* Improve logs in download-archive-slice and download-state
* Decrease delay between serializing shards
* Make CellDbIn::load_cell synchronous to avoid interfering with store_cell
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
* Fix double serialization of masterchain; increase sync_blocks_before
* Improve logging in DownloadState
* Write persistent state directly to file instead of a buffer
* Don't keep ref to masterchain state in AsyncStateSerializer
* Sparse state serialization over longer period
Co-authored-by: SpyCheese <mikle98@yandex.ru>
1. Updated block header, proofs now contain more data
Notice, that old proofs may become invalid in the future
2. Fixed message routing
3. Fixed block creator id in block header
4. Support for full proofs in tonlib
5. Support for partial state download
6. Some other bugfixes