1
0
Fork 0
mirror of https://github.com/ton-blockchain/ton synced 2025-02-15 04:32:21 +00:00
Commit graph

199 commits

Author SHA1 Message Date
SpyCheese
36e04971eb Merge branch 'testnet' into accelerator 2024-10-13 11:39:36 +03:00
SpyCheese
2ce2c8fc49
Count account_dict size in block size estimation (#1261)
* Count account_dict size in block size estimation

* Fix updating account dict estimator
2024-10-12 13:21:47 +03:00
SpyCheese
df21424047 Merge branch 'testnet' into accelerator 2024-10-09 21:10:36 +03:00
EmelyanenkoK
1da94e62ad
Send only first block candidate optimistically (#1260)
* Broadcast only the first block candidate

* Fix sending block broadcast

---------

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-10-09 13:53:46 +03:00
SpyCheese
1c2c777644 Merge branch 'testnet' into accelerator 2024-10-02 17:49:12 +03:00
SpyCheese
f94d1bee0c
Extra currencies (#1122)
* Support extra currencies in tonlib, blockchain-explorer, getAccountPrunned

* Fix dict_combine_with with non-zero mode
2024-10-01 10:22:49 +03:00
SpyCheese
257cd8cd9c
Fix estimating block size, repeat collation on error (#1178)
* Fix extimating block size, repeat collation on error

* Cancel collation when it is non needed
2024-10-01 10:22:15 +03:00
SpyCheese
ed6788e579 Merge branch 'testnet' into accelerator 2024-09-23 18:07:41 +03:00
birydrad
72020c04c4
celldb in-memory mode, stats for actors, perf counters, minor fix in rldp2 (#1164)
* 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 <>
2024-09-23 17:34:37 +03:00
SpyCheese
09da42e38f Merge branch 'testnet' into accelerator 2024-09-19 12:12:46 +03:00
SpyCheese
b304b1c7be
LS getDispatchQueueInfo and getDispatchQueueMessages methods (#1161)
* liteServer.getDispatchQueueInfo query

* Fix getting min/max lt

* LS getDispatchQueueMessages method
2024-09-13 20:47:30 +03:00
SpyCheese
9d927e8cfb Merge branch 'testnet' into accelerator 2024-09-10 10:06:10 +03:00
SpyCheese
feff73c4be Merge branch 'safe_features' into testnet-update 2024-09-06 11:48:46 +03:00
SpyCheese
e32a74e9c5
Collator: change deferring behavior when out queue size is big (#1135) 2024-09-05 15:56:07 +03:00
SpyCheese
e35b34de22
Don't deserialize continuations in LS runSmcMethod (#1151) 2024-09-04 11:38:29 +03:00
EmelyanenkoK
e08111159f
Dynamic catchain delays, state serialization improvements (#1140)
* Validator improvements

* Fix cancelling state serialization
* Disable state serializer on all mainnet validators
* Flag --catchain-max-block-delay-slow

* Set default catchain-max-block-delay to 0.4, delay-slow to 1.0

---------

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-08-30 17:00:06 +03:00
SpyCheese
dc26c3be67 Improve validator session stats (#1117)
* Improve validator session stats

* Collator stats: block limits, number of processed external messages
* Collator and validator work time
* Last key block seqno
* Approvers and signers

* End validator session stats
2024-08-28 11:15:23 +03:00
SpyCheese
3af45ed7f6 Merge branch 'testnet' into accelerator 2024-08-23 12:44:35 +03:00
SpyCheese
908415d00b
Accelerator, part 1 (#1119)
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
2024-08-23 11:46:40 +03:00
SpyCheese
9c3dc22b78
Improve validator session stats (#1117)
* Improve validator session stats

* Collator stats: block limits, number of processed external messages
* Collator and validator work time
* Last key block seqno
* Approvers and signers

* End validator session stats
2024-08-20 19:54:16 +03:00
SpyCheese
5080cdffdd Merge branch 'session-stats-patch' into accelerator 2024-08-20 12:41:55 +03:00
SpyCheese
1b4fb42859 End validator session stats 2024-08-19 19:55:11 +03:00
SpyCheese
0ca022cc72 Improve validator session stats
* Collator stats: block limits, number of processed external messages
* Collator and validator work time
* Last key block seqno
* Approvers and signers
2024-08-19 18:35:50 +03:00
SpyCheese
7ecc31bc96 Use block data from block candidate in AcceptBlockQuery 2024-08-09 15:49:47 +03:00
SpyCheese
4b68c7b165 Merge branch 'testnet' into accelerator 2024-07-23 18:07:58 +03:00
SpyCheese
1b9372804f
Make block overloaded if dispatch queue processing limit is reached (#1070) 2024-07-23 16:47:28 +03:00
SpyCheese
ac3b8d6088 Merge branch 'testnet' into accelerator 2024-07-13 15:38:56 +03:00
EmelyanenkoK
00cd053dbc
Fix processing dispatch queue (#1057)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-07-13 14:43:04 +03:00
SpyCheese
d74d3f1fc2 Merge branch 'testnet' into accelerator 2024-07-10 15:35:54 +03:00
EmelyanenkoK
57f95cc282
Add collator options (#1052)
* Set collator options from validator console

* Fix compilation error in manager-disk

* Defer all messages if out msg queue is too big

* Fix checking queue size in collator

---------

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-07-10 14:58:13 +03:00
SpyCheese
c54f095c1b
Don't use user-provided fees for internal messages (#1050) 2024-07-10 09:17:37 +03:00
SpyCheese
7f263b8b11 Don't request queue size if not needed in validate-query 2024-06-28 12:46:08 +03:00
SpyCheese
172e404426 Merge branch 'testnet' into accelerator 2024-06-28 11:55:12 +03:00
tom
fae7763ec7
Fix typos (#998) 2024-06-27 16:46:37 +03:00
EmelyanenkoK
0daee1d887
Merge message dispatch queue (#1030)
* Deferred messages and msg metadata

* Store out msg queue size in state

* Add checks for queue processing

1. Collator must process at least one message from AccountDispatchQueue (unless block is full)
2. The first message from a transaction is not counted, it cannot be deferred (unless AccountDispatchQueue is not empty)

* Return msg metadata from LS in listBlockTransactions[Ext]

* Enable new features by capabilities

* Changes in deferred messages

* Process deferred messages via new_msgs in collator
* Rework setting deferred_lt, bring back check_message_processing_order, check order of deferred_lt in validator

* Use have_unprocessed_account_dispatch_queue_ in collator

* Fix setting transaction lt for deferred messages

* Fix lite-client compilation error

* Changes in process_dispatch_queue, rename deferred_lt -> emitted_lt

* Fix compilation error

* Use uint64 for msg queue size

* Add liteServer.getBlockOutMsgQueueSize

* Fix compilation error

* Fix typos in comments

---------

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-06-27 16:12:23 +03:00
SpyCheese
90d2edf535 Improve CollatorNode
* Keep track of validator groups
* Pre-generate shard blocks
2024-06-25 14:06:15 +03:00
SpyCheese
3695bf0797 Merge branch 'testnet' into accelerator 2024-06-12 18:53:54 +03:00
EmelyanenkoK
bd23029d0a
Soft send message validation (#1021)
* check mode on invalid action_send_msg

* Fix random seed generation

* Explicitly skip invalid actions

* Count skipped valid messages, rename cfg option to message_skip_enabled

* Allow unfreeze via external messages

* Detect and handle bounce_on_fail mode for invalid messages

* Fix codestyle

* Adjust doc
2024-06-11 15:08:08 +03:00
SpyCheese
38ab70c037 Changes in validation
* Configure collator list in validator-console
* Remove "lite-validator" flags
* Better compatibility in validate-query.cpp
2024-06-11 13:39:14 +03:00
SpyCheese
1ee9e47007 Merge branch testnet into block-generation 2024-05-30 11:21:39 +03:00
EmelyanenkoK
ceefac74cf
Limit checked external messages per address (#1005)
* Limit checked external messages per address

* Change max_ext_msg_per_addr_time_window; cleanup mempool by timer

---------

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-05-28 13:31:13 +03:00
EmelyanenkoK
539d5dd2de
Add candidates cache (#1000)
* Broadcast shardchain block candidates in private overlays, generate proof links from candidates

* Disable shardchain block broadcasts in private overlays

* Send block candidate broadcasts to custom overlays, allow non-validators to receive candidates

---------

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-05-24 09:58:07 +03:00
SpyCheese
172c16ca2e Merge branch 'testnet' into block-generation 2024-05-13 16:38:48 +03:00
EmelyanenkoK
d5c09936cf
Block broadcasts in custom overlays (#986)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-05-10 17:04:49 +03:00
SpyCheese
8143eb074e Merge branch 'testnet' into block-generation 2024-04-08 14:44:28 +03:00
EmelyanenkoK
a2bd695b89
Fix prepare_vm_c7 (#958)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-04-08 14:29:54 +03:00
EmelyanenkoK
b8111d8b5b
Fix setting due_payment in storage phase (#957)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-04-08 11:15:52 +03:00
SpyCheese
4916e4847a Merge branch 'testnet' into block-generation 2024-04-01 17:28:23 +03:00
EmelyanenkoK
0434eadc1f
Add custom overlays for external messages (#949)
* Private overlay for external messages

* Improve ext msg overlays

* Manage from validator console
* Bypass out queue size limit for high-priority messages
* Shuffle messages in get_external_messages

* Cleanup mempool when creating validator group

* Improve private overlays for externals

1. Allow using validator adnl ids in addition to fullnode ids
2. Set priority per sender, not per overlay
3. Require the same overlay name for all nodes
4. Enable lz4 in private block overlay

* Fix typo, add debug logs

* Enable lz4 in private block overlay by config

Change proto_version for lz4 in catchain overlays to 4

* Add logs for broadcasts in fullnode

---------

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-04-01 16:44:08 +03:00
SpyCheese
7999a7e2c1 Merge branch 'testnet' into block-generation 2024-03-26 16:19:34 +03:00