1
0
Fork 0
mirror of https://github.com/ton-blockchain/ton synced 2025-03-09 15:40:10 +00:00

speed up synchronization

- download old files in chunks
- updated docs
- fixed elector/config smartcontracts
This commit is contained in:
ton 2019-11-18 22:15:14 +04:00
parent 0dae2c157b
commit 7f3a22a217
21 changed files with 365 additions and 191 deletions

View file

@ -414,7 +414,8 @@ void ValidatorManagerMasterchainStarter::got_key_block_handle(BlockHandle handle
void ValidatorManagerMasterchainStarter::got_shard_block_id(BlockIdExt block_id) {
client_block_id_ = block_id;
finish();
start_shard_client();
return;
auto P = td::PromiseCreator::lambda([SelfId = actor_id(this)](td::Result<std::vector<BlockIdExt>> R) {
R.ensure();
@ -436,7 +437,7 @@ void ValidatorManagerMasterchainStarter::got_hardforks(std::vector<BlockIdExt> v
return;
}
}
finish();
start_shard_client();
return;
}
if (h.size() > vec.size() + 1) {
@ -565,13 +566,20 @@ void ValidatorManagerMasterchainStarter::truncated() {
void ValidatorManagerMasterchainStarter::written_next() {
auto P = td::PromiseCreator::lambda([SelfId = actor_id(this)](td::Result<td::Unit> R) {
R.ensure();
td::actor::send_closure(SelfId, &ValidatorManagerMasterchainStarter::finish);
td::actor::send_closure(SelfId, &ValidatorManagerMasterchainStarter::start_shard_client);
});
td::actor::send_closure(db_, &Db::update_hardforks, opts_->get_hardforks(), std::move(P));
}
void ValidatorManagerMasterchainStarter::start_shard_client() {
auto P = td::PromiseCreator::lambda([SelfId = actor_id(this)](td::Result<td::Unit> R) {
R.ensure();
td::actor::send_closure(SelfId, &ValidatorManagerMasterchainStarter::finish);
});
client_ = td::actor::create_actor<ShardClient>("shardclient", opts_, manager_, std::move(P));
}
void ValidatorManagerMasterchainStarter::finish() {
client_ = td::actor::create_actor<ShardClient>("shardclient", opts_, manager_);
promise_.set_value(
ValidatorManagerInitResult{handle_, state_, std::move(client_), gc_handle_, gc_state_, last_key_block_handle_});
stop();