-
Notifications
You must be signed in to change notification settings - Fork 12
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
Snapshot synchronization was originally almost implemented in CodeChain/snapshot branch.
The blocking problems were related to asset timelocks, and since we're stripping asset implementation in this repository, we just have to port the commits to this repository.
The following is the list of commits to be ported:
CodeChain-io/codechain@18001f6 Introduce on_open_blockUpdate tendermint implementation to be compatible with snapshot sync #27CodeChain-io/codechain@3c8d9f0 Implement TrieDB::is_completeImport the snapshot header #29CodeChain-io/codechain@1dff7e2 Add complete_register to ConsensusEngineCreate snapshots #19CodeChain-io/codechain@fc6a3de Change waitNodeUntilTerm to return TermMetadataRefactoring patches from CodeChain/snapshot #22CodeChain-io/codechain@80e6282 Refactor rpc startup codeAdd RPCs for managing snapshots #20CodeChain-io/codechain@74c46d6 Refactor send status functionRefactoring patches from CodeChain/snapshot #22CodeChain-io/codechain@ec0ef2b Remove unnecessary cloning in block syncRefactoring patches from CodeChain/snapshot #22CodeChain-io/codechain@06b3f97 Enhance error message in waitForTermChangeRefactoring patches from CodeChain/snapshot #22CodeChain-io/codechain@3b9c388 Add term_params to MetadataRead term_common_params from the state #18CodeChain-io/codechain@5c64737 Snapshot term_metadata on every term close for the era > 0Read term_common_params from the state #18CodeChain-io/codechain@7fba4f5 Update the era with the value in current block's stateNot relatedCodeChain-io/codechain@9a6ec55 Read term_params from the snapshotRead term_common_params from the state #18CodeChain-io/codechain@1101c5b Precalculate the fee in era=1Update tendermint implementation to be compatible with snapshot sync #27CodeChain-io/codechain@1051665 Remove outdated snapshot moduleCreate snapshots #19CodeChain-io/codechain@f718e4a Add configuration option for the snapshot sync targetImport the snapshot header #29CodeChain-io/codechain@b3e2238 Decide the sync extension's state with the snapshot targetImport the snapshot header #29CodeChain-io/codechain@1b785d9 Implement Snapshot & Restore modulesCreate snapshots #19CodeChain-io/codechain@403b519 Fetch snapshot header from peersImport the snapshot header #29CodeChain-io/codechain@f4af598 Make the snapshot header importable without parentImport the snapshot header #29CodeChain-io/codechain@be35914 Update snapshot message formatUpdate messages of the block sync extension #28CodeChain-io/codechain@a8627c2 Import only desired bootstrap headersImport the snapshot header #29CodeChain-io/codechain@ecdaa3a Implement snapshot serviceCreate snapshots #19CodeChain-io/codechain@27e3c4e Add RPC devel_snapshotAdd RPCs for managing snapshots #20CodeChain-io/codechain@ef1a176 Add basic e2e test for snapshotAdd RPCs for managing snapshots #20CodeChain-io/codechain@b3cc277 Rename total_score to nonce in sync messageUpdate messages of the block sync extension #28CodeChain-io/codechain@443a178 Add SnapshotNotifySender to Tendermint workerCreate snapshots #19CodeChain-io/codechain@4e5ba6b Implement snapshot on term endCreate snapshots #19CodeChain-io/codechain@7490d25 Add snapshot sync test with Tendermint dynamic validatorCodeChain-io/codechain@6d5af4d Send and receive snapshot chunk requestsCodeChain-io/codechain@fe9c785 Serve snapshot responses to peers- CodeChain-io/codechain@ef3ad4f Use binding for match clause
CodeChain-io/codechain@cbe8322 Add RPC snapshot_getListAdd RPCs for managing snapshots #20CodeChain-io/codechain@af90610 Add autoremoving expired snapshot featureCreate snapshots #19CodeChain-io/codechain@a96282d Detect bootstrap header in tendermint workerImport the snapshot header #29- CodeChain-io/codechain@cc236fd Add sync state SnapshotBody
CodeChain-io/codechain@0ba5323 Move to SnapshotBody state after downloading the snapthot headerCodeChain-io/codechain@abe60a3 Import snapshot block with bodyCodeChain-io/codechain@9354d8d Update the best block after importing snapshot chunks- CodeChain-io/codechain@eb6b204 Refactor block::Extension::transtition_to_full()
CodeChain-io/codechain@afcf587 Change sync extension to update pivot after transitioning to FullCodeChain-io/codechain@0c598ce Fix to receive peer requests from just connected nodesCodeChain-io/codechain@2877685 Defer sending peer status after transitioning to full sync modeCodeChain-io/codechain@d8368c5 Factor out snapshot notifyCreate snapshots #19CodeChain-io/codechain@9ce70ad Move send_snapshot_notify() before the early returnCreate snapshots #19CodeChain-io/codechain@ed78493 Defer snapshot timing by one block in TendermintCreate snapshots #19- CodeChain-io/codechain@d925fec Fix snapshot block estimation in test
CodeChain-io/codechain@18f8fa7 Introduce CurrentValidatorsUpdate tendermint implementation to be compatible with snapshot sync #27CodeChain-io/codechain@275a671 Get tendermint validators with CurrentValidatorsUpdate tendermint implementation to be compatible with snapshot sync #27CodeChain-io/codechain@f192340 Generate snapshot chunks for shard level stateCreate snapshots #19CodeChain-io/codechain@8a428cb Refactor on_chunk_responseCodeChain-io/codechain@f628350 Refactor sync state transitionCodeChain-io/codechain@364fa18 Import shard trie chunks in sync extension
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request