* 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
* Parallel write in celldb
* Add TD_PERF_COUNTER to gc_cell and store_cell
* More error handling
* Tests for prepare_commit_async
* Install g++11 for ubuntu 20.04
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
* Remove unneeded "wait_neighbours_not_empty"
* Fix "round_started_at" for the first round
* Fix use after move in overlay.cpp
* Move "last gc masterchain state" stat to CellDbIn::prepare_stats
* Fix disabling state serializer
* getactorstats query for validator-engine-console
* celldb in-memory mode (--celldb-in-memory option)
* rldp2: bugfix - do not estimate speed while nothing is sent
* add simple ed25519 benchmark
* fix compilation errors of different platforms and move to c++20
* fix some warnings
* turn on TON_USE_ABSEIL for glibc 2.27 nix build
---------
Co-authored-by: birydrad <>
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
* Add parameter --celldb-compress-depth to speed up celldb
* Fix collator timeout
* Add block_state_cache
* Adjust state cache ttl
* Don't merge shards when queue is too big
* Decrease lt limit if previous block is too old
---------
Co-authored-by: SpyCheese <mikle98@yandex.ru>
* 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>
- added new fift/func code for validator complaint creation
- bugfixes in validator
- updates in tonlib
- new versions of rocksdb/abseil
- hardfork support