From 8fb73710d0f14a8eee31e35c6f76586aacb64ef9 Mon Sep 17 00:00:00 2001 From: "296179868@qq.com" <296179868@qq.com> Date: Wed, 4 Mar 2020 03:16:36 +0000 Subject: [PATCH 01/21] add quick sync --- quicksync/bnbchaind | 3 +++ 1 file changed, 3 insertions(+) create mode 100755 quicksync/bnbchaind diff --git a/quicksync/bnbchaind b/quicksync/bnbchaind new file mode 100755 index 0000000..f5fd885 --- /dev/null +++ b/quicksync/bnbchaind @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:576e565eb45e095715b7074cca2d57f6457eae0bb33e61ef418203246bf15597 +size 46515632 From fd31bd2d4b9d0a6497623f080cde500e8e5e32ae Mon Sep 17 00:00:00 2001 From: "296179868@qq.com" <296179868@qq.com> Date: Wed, 4 Mar 2020 08:20:39 +0000 Subject: [PATCH 02/21] add readme --- quicksync/Readme.md | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 quicksync/Readme.md diff --git a/quicksync/Readme.md b/quicksync/Readme.md new file mode 100644 index 0000000..880aa92 --- /dev/null +++ b/quicksync/Readme.md @@ -0,0 +1,41 @@ +# Solution to speed up sync +## Main idea + +Binance chain team provide a snapshot data of all history blocks and state for downloading. Full nodes can replay blocks locally without verification after downloading the data. + +## Replay Step +1. Download snapshot from and unzip it into the ${chain-home}/data. +2. Download new binary from current page. +3. Modify the config `with_app_stat = true` of ${chain-home}/config/config.toml into `with_app_stat = false`. +4. Modify all the config `indexer = "kv"` of ${chain-home}/config/config.toml into `indexer = "null"`. +5. Backup the state DB by `mv ${chain-home}/data/application.db ${chain-home}/data/application.db_backup`. This operation only need do once. +6. Start node by `nohup ./bnbchaind start --iavl-mock true --home ${your-chain-home} &`. +7. Each time to replay from genesis again, please do `rm -rf ${chain-home}/data/application.db ${chain-home}/data/cs.wal ` before starting the binary. + +## What to do after replay finish +Once the replay finish, the process will stop automatically. + +1. Replace the binary of the official one. +2. Recover the state DB by `mv ${chain-home}/data/application.db_backup ${chain-home}/data/application.db`. +3. Modify the config `with_app_stat = false` of ${chain-home}/config/config.toml into `with_app_stat = true`. +4. start node by `nohup ./bnbchaind start --home ${your-chain-home} &` + + +## Difference between new binary and official one: +1. Merkle tree implement is replaced by memory DB. +2. No root hash verification, no basic verification for tx, no signature verification. +3. No snapshot at breath block. + +## Benchmark result: +Hardware: 8core,32G linux +Setting: local publisher with all topic, replay 2000000 blocks, the number of tx is 2676645 +Result: It takes 54 minutes, the average speed is 617 block/seconds. When there are 50 txs in one block, the speed is about 140 blocks/second. If the block is empty, the speed is about 625 blocks/second. + + +## Suggestion: + +1. Local publisher is a better choice than Kafka publisher. The local file of the local publisher can compress and rotate according to the config `localMaxSize` and `localMaxAge` of ${chain-home}/config/app.toml, so the size of the local file won't be an issue, and the data can be reused. The binance chain client takes around 7ms to publish a Kafka message when the Kafka cluster contains 3 nodes. Because the `ack` of Kafka needs all isr to confirm, which may become the bottleneck. If Kafka is essential, then a single node Kafka will improve the performance. +2. As it use memory DB to store state, a VM with large memory will help. + + + From 8a1820c330cd5c7d2acd473711ec27a8109953f5 Mon Sep 17 00:00:00 2001 From: zjubfd <296179868@qq.com> Date: Wed, 4 Mar 2020 16:23:44 +0800 Subject: [PATCH 03/21] Update Readme.md update --- quicksync/Readme.md | 39 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/quicksync/Readme.md b/quicksync/Readme.md index 880aa92..ced522b 100644 --- a/quicksync/Readme.md +++ b/quicksync/Readme.md @@ -1,41 +1,40 @@ # Solution to speed up sync -## Main idea Binance chain team provide a snapshot data of all history blocks and state for downloading. Full nodes can replay blocks locally without verification after downloading the data. ## Replay Step -1. Download snapshot from and unzip it into the ${chain-home}/data. -2. Download new binary from current page. -3. Modify the config `with_app_stat = true` of ${chain-home}/config/config.toml into `with_app_stat = false`. -4. Modify all the config `indexer = "kv"` of ${chain-home}/config/config.toml into `indexer = "null"`. -5. Backup the state DB by `mv ${chain-home}/data/application.db ${chain-home}/data/application.db_backup`. This operation only need do once. -6. Start node by `nohup ./bnbchaind start --iavl-mock true --home ${your-chain-home} &`. -7. Each time to replay from genesis again, please do `rm -rf ${chain-home}/data/application.db ${chain-home}/data/cs.wal ` before starting the binary. +- Download snapshot from and unzip it into the ${chain-home}/data. +- Download new binary from current page. +- Modify the config `with_app_stat = true` of ${chain-home}/config/config.toml into `with_app_stat = false`. +- Modify all the config `indexer = "kv"` of ${chain-home}/config/config.toml into `indexer = "null"`. +- Backup the state DB by `mv ${chain-home}/data/application.db ${chain-home}/data/application.db_backup`. This operation only need do once. +- Start node by `nohup ./bnbchaind start --iavl-mock true --home ${your-chain-home} &`. +- Each time to replay from genesis again, please do `rm -rf ${chain-home}/data/application.db ${chain-home}/data/cs.wal ` before starting the binary. ## What to do after replay finish Once the replay finish, the process will stop automatically. -1. Replace the binary of the official one. -2. Recover the state DB by `mv ${chain-home}/data/application.db_backup ${chain-home}/data/application.db`. -3. Modify the config `with_app_stat = false` of ${chain-home}/config/config.toml into `with_app_stat = true`. -4. start node by `nohup ./bnbchaind start --home ${your-chain-home} &` +- Replace the binary of the official one. +- Recover the state DB by `mv ${chain-home}/data/application.db_backup ${chain-home}/data/application.db`. +- Modify the config `with_app_stat = false` of ${chain-home}/config/config.toml into `with_app_stat = true`. +- start node by `nohup ./bnbchaind start --home ${your-chain-home} &` ## Difference between new binary and official one: -1. Merkle tree implement is replaced by memory DB. -2. No root hash verification, no basic verification for tx, no signature verification. -3. No snapshot at breath block. +- Merkle tree implement is replaced by memory DB. +- No root hash verification, no basic verification for tx, no signature verification. +- No snapshot at breath block. ## Benchmark result: -Hardware: 8core,32G linux -Setting: local publisher with all topic, replay 2000000 blocks, the number of tx is 2676645 -Result: It takes 54 minutes, the average speed is 617 block/seconds. When there are 50 txs in one block, the speed is about 140 blocks/second. If the block is empty, the speed is about 625 blocks/second. +- **Hardware**: 8core,32G linux +- **Setting**`: local publisher with all topic, replay 2000000 blocks, the number of tx is 2676645 +- **Result**: It takes 54 minutes, the average speed is 617 block/seconds. When there are 50 txs in one block, the speed is about 140 blocks/second. If the block is empty, the speed is about 625 blocks/second. ## Suggestion: -1. Local publisher is a better choice than Kafka publisher. The local file of the local publisher can compress and rotate according to the config `localMaxSize` and `localMaxAge` of ${chain-home}/config/app.toml, so the size of the local file won't be an issue, and the data can be reused. The binance chain client takes around 7ms to publish a Kafka message when the Kafka cluster contains 3 nodes. Because the `ack` of Kafka needs all isr to confirm, which may become the bottleneck. If Kafka is essential, then a single node Kafka will improve the performance. -2. As it use memory DB to store state, a VM with large memory will help. +- Local publisher is a better choice than Kafka publisher. The local file of the local publisher can compress and rotate according to the config `localMaxSize` and `localMaxAge` of ${chain-home}/config/app.toml, so the size of the local file won't be an issue, and the data can be reused. The binance chain client takes around 7ms to publish a Kafka message when the Kafka cluster contains 3 nodes. Because the `ack` of Kafka needs all isr to confirm, which may become the bottleneck. If Kafka is essential, then a single node Kafka will improve the performance. +- As it use memory DB to store state, a VM with large memory will help. From b9b5d7a5f329d87edd572ee236420d501ad69be1 Mon Sep 17 00:00:00 2001 From: zjubfd <296179868@qq.com> Date: Wed, 4 Mar 2020 16:24:32 +0800 Subject: [PATCH 04/21] Update Readme.md update --- quicksync/Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quicksync/Readme.md b/quicksync/Readme.md index ced522b..1c9c1e8 100644 --- a/quicksync/Readme.md +++ b/quicksync/Readme.md @@ -11,7 +11,7 @@ Binance chain team provide a snapshot data of all history blocks and state for d - Start node by `nohup ./bnbchaind start --iavl-mock true --home ${your-chain-home} &`. - Each time to replay from genesis again, please do `rm -rf ${chain-home}/data/application.db ${chain-home}/data/cs.wal ` before starting the binary. -## What to do after replay finish +## What to do after finish replaying blocks Once the replay finish, the process will stop automatically. - Replace the binary of the official one. From 3ca0027feb412993512f9c760c532c120471a4da Mon Sep 17 00:00:00 2001 From: zjubfd <296179868@qq.com> Date: Wed, 4 Mar 2020 16:25:08 +0800 Subject: [PATCH 05/21] Update Readme.md update --- quicksync/Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quicksync/Readme.md b/quicksync/Readme.md index 1c9c1e8..f65e963 100644 --- a/quicksync/Readme.md +++ b/quicksync/Readme.md @@ -25,7 +25,7 @@ Once the replay finish, the process will stop automatically. - No root hash verification, no basic verification for tx, no signature verification. - No snapshot at breath block. -## Benchmark result: +## Test result: - **Hardware**: 8core,32G linux - **Setting**`: local publisher with all topic, replay 2000000 blocks, the number of tx is 2676645 - **Result**: It takes 54 minutes, the average speed is 617 block/seconds. When there are 50 txs in one block, the speed is about 140 blocks/second. If the block is empty, the speed is about 625 blocks/second. From 0c394caad5d13cc280f32dcc65775bdd2c7ce4dd Mon Sep 17 00:00:00 2001 From: zjubfd <296179868@qq.com> Date: Wed, 4 Mar 2020 16:26:19 +0800 Subject: [PATCH 06/21] Update Readme.md updated --- quicksync/Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quicksync/Readme.md b/quicksync/Readme.md index f65e963..5c395c2 100644 --- a/quicksync/Readme.md +++ b/quicksync/Readme.md @@ -3,7 +3,7 @@ Binance chain team provide a snapshot data of all history blocks and state for downloading. Full nodes can replay blocks locally without verification after downloading the data. ## Replay Step -- Download snapshot from and unzip it into the ${chain-home}/data. +- Download snapshot from the url provided by binance team and unzip it into the ${chain-home}/data. - Download new binary from current page. - Modify the config `with_app_stat = true` of ${chain-home}/config/config.toml into `with_app_stat = false`. - Modify all the config `indexer = "kv"` of ${chain-home}/config/config.toml into `indexer = "null"`. From b61b2cdbc22543c0098390be7e7ec487088bfa18 Mon Sep 17 00:00:00 2001 From: zjubfd <296179868@qq.com> Date: Wed, 4 Mar 2020 16:27:07 +0800 Subject: [PATCH 07/21] Update Readme.md --- quicksync/Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quicksync/Readme.md b/quicksync/Readme.md index 5c395c2..21cb757 100644 --- a/quicksync/Readme.md +++ b/quicksync/Readme.md @@ -27,7 +27,7 @@ Once the replay finish, the process will stop automatically. ## Test result: - **Hardware**: 8core,32G linux -- **Setting**`: local publisher with all topic, replay 2000000 blocks, the number of tx is 2676645 +- **Settings**: local publisher with all topic, replay 2000000 blocks, the number of tx is 2676645 - **Result**: It takes 54 minutes, the average speed is 617 block/seconds. When there are 50 txs in one block, the speed is about 140 blocks/second. If the block is empty, the speed is about 625 blocks/second. From bd830a8b312dad29d5da6ac7ea6f1ff0778c7ab0 Mon Sep 17 00:00:00 2001 From: zjubfd <296179868@qq.com> Date: Wed, 4 Mar 2020 21:20:48 +0800 Subject: [PATCH 08/21] Update Readme.md close state sync reactor --- quicksync/Readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/quicksync/Readme.md b/quicksync/Readme.md index 21cb757..546ea3d 100644 --- a/quicksync/Readme.md +++ b/quicksync/Readme.md @@ -7,6 +7,7 @@ Binance chain team provide a snapshot data of all history blocks and state for d - Download new binary from current page. - Modify the config `with_app_stat = true` of ${chain-home}/config/config.toml into `with_app_stat = false`. - Modify all the config `indexer = "kv"` of ${chain-home}/config/config.toml into `indexer = "null"`. +- Modify the config `state_sync_reactor = true` of ${chain-home}/config/config.toml into `state_sync_reactor = false`. - Backup the state DB by `mv ${chain-home}/data/application.db ${chain-home}/data/application.db_backup`. This operation only need do once. - Start node by `nohup ./bnbchaind start --iavl-mock true --home ${your-chain-home} &`. - Each time to replay from genesis again, please do `rm -rf ${chain-home}/data/application.db ${chain-home}/data/cs.wal ` before starting the binary. From 2ea421cb1deef4b461274516f83d065a9de84c2a Mon Sep 17 00:00:00 2001 From: zjubfd <296179868@qq.com> Date: Wed, 4 Mar 2020 21:32:24 +0800 Subject: [PATCH 09/21] Update Readme.md add download url --- quicksync/Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quicksync/Readme.md b/quicksync/Readme.md index 546ea3d..398154e 100644 --- a/quicksync/Readme.md +++ b/quicksync/Readme.md @@ -3,7 +3,7 @@ Binance chain team provide a snapshot data of all history blocks and state for downloading. Full nodes can replay blocks locally without verification after downloading the data. ## Replay Step -- Download snapshot from the url provided by binance team and unzip it into the ${chain-home}/data. +- Download snapshot from the [url](https://s3.ap-northeast-1.amazonaws.com/dex-bin.bnbstatic.com/chain-analisis-download-data/server-bnbchaind-disaster-node-gaiad-data.zip?AWSAccessKeyId=ASIAYINE6SBQKG4SGLJW&Expires=1609247337&x-amz-security-token=IQoJb3JpZ2luX2VjEIX%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDmFwLW5vcnRoZWFzdC0xIkYwRAIgU3v5TNgme1kRb%2FWhNRtQXPTepaCUVy2GIdh9ZUpQjOECIBvzF3RU2u9mnrbagEHKdSXlkcYkTuFczbYI8sRCJgtCKr4DCF4QARoMNTY3ODE4NDg5OTUyIgwOqmbmpA0dKZpX12UqmwMKGTuT%2FUcAdFdRyz4gifUh2aBbePT%2F7ubPkygZ7pMpYGJrqd90ZQjpkZaSqVTKnUrKNt7kvElij1HTakf8nyo9yLmJzNu2y6d%2FNLdGaOHZ3ie14mMs9XRwXr%2BhhjZKSUQ4zA1lgU%2FxiZDIzKS%2BSQu5JeKZGqtkCUrqJZpluuB2fvvlQw5PhNMtL%2FM0qzQbvNootsFTQ7gLFzopRODGmPDFyfoh17nF0If7wb9O0KPi24W45llzrpEfPi2vTyUHUgBHxlDDiUWYSxuFQhP1%2BfjLGHC4jR3H6WCXgq1ASYsLxP08EGpOLtwcPh%2F%2FTXXGbKYvHWwvE9mb3nyB2RFa12KvG2nZU2Agi1h%2FT0sOtW3T7fRl0Cc2jNTlK4iNPEzm%2FQT6T3gCTNLLS7ohatA6xtg25QcKL2t8%2FfAF7uwCqdiXE%2BYVwwRyWH1kbu96DBF%2FaAh6BzXTH34FiepbG96vj1NSs82ydXYVaiCmO4oB5%2FigCaDGNhXabytcFyt2PaVgTUzIatJ2tzGkhX7qeFrr448jgad%2BBmQFliiDP38w38P%2B8gU67AGj58AcvD0IOb%2BSZjmbZ3SHGuG70DgsslPpjNSgfUm3zRtM1GLZT4Nx%2BSTL8XLk%2FWILL18Ll7WGEDt8GfTPwrVqP8v6l3ghumzfJ9Yibe%2FQfMO7%2BGdV1YC7LAiM9nOFpX6YdoIpmkY3XYRdniPV3cfSC%2BmEl9eyCwyTiWpuTZRguvNc05DubICthjrF1OYUmYfNz4pgEgc3fFWx9%2BiForS3tF6nj0LUxFKoh7NcPVkhs%2Betggc857S1tMATTkCcbjFGe65G79jLr1IDM%2Bs3C5%2BA2%2FQn0oDXKcWH0Txu38Yc3ssyBTNRSbi0ptD1PQ%3D%3D&Signature=WXJncbFSanMijSs0vn2ae1qJ9Lc%3D) provided by binance team and unzip it into the ${chain-home}/data. You can download by `nohup curl ${the download url} > data.zip &`. - Download new binary from current page. - Modify the config `with_app_stat = true` of ${chain-home}/config/config.toml into `with_app_stat = false`. - Modify all the config `indexer = "kv"` of ${chain-home}/config/config.toml into `indexer = "null"`. From 64d6cca30d4e7db89a3a1667a891d74250cf54ff Mon Sep 17 00:00:00 2001 From: zjubfd <296179868@qq.com> Date: Wed, 4 Mar 2020 21:33:41 +0800 Subject: [PATCH 10/21] Update Readme.md add url of binary --- quicksync/Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quicksync/Readme.md b/quicksync/Readme.md index 398154e..28e2e46 100644 --- a/quicksync/Readme.md +++ b/quicksync/Readme.md @@ -4,7 +4,7 @@ Binance chain team provide a snapshot data of all history blocks and state for d ## Replay Step - Download snapshot from the [url](https://s3.ap-northeast-1.amazonaws.com/dex-bin.bnbstatic.com/chain-analisis-download-data/server-bnbchaind-disaster-node-gaiad-data.zip?AWSAccessKeyId=ASIAYINE6SBQKG4SGLJW&Expires=1609247337&x-amz-security-token=IQoJb3JpZ2luX2VjEIX%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDmFwLW5vcnRoZWFzdC0xIkYwRAIgU3v5TNgme1kRb%2FWhNRtQXPTepaCUVy2GIdh9ZUpQjOECIBvzF3RU2u9mnrbagEHKdSXlkcYkTuFczbYI8sRCJgtCKr4DCF4QARoMNTY3ODE4NDg5OTUyIgwOqmbmpA0dKZpX12UqmwMKGTuT%2FUcAdFdRyz4gifUh2aBbePT%2F7ubPkygZ7pMpYGJrqd90ZQjpkZaSqVTKnUrKNt7kvElij1HTakf8nyo9yLmJzNu2y6d%2FNLdGaOHZ3ie14mMs9XRwXr%2BhhjZKSUQ4zA1lgU%2FxiZDIzKS%2BSQu5JeKZGqtkCUrqJZpluuB2fvvlQw5PhNMtL%2FM0qzQbvNootsFTQ7gLFzopRODGmPDFyfoh17nF0If7wb9O0KPi24W45llzrpEfPi2vTyUHUgBHxlDDiUWYSxuFQhP1%2BfjLGHC4jR3H6WCXgq1ASYsLxP08EGpOLtwcPh%2F%2FTXXGbKYvHWwvE9mb3nyB2RFa12KvG2nZU2Agi1h%2FT0sOtW3T7fRl0Cc2jNTlK4iNPEzm%2FQT6T3gCTNLLS7ohatA6xtg25QcKL2t8%2FfAF7uwCqdiXE%2BYVwwRyWH1kbu96DBF%2FaAh6BzXTH34FiepbG96vj1NSs82ydXYVaiCmO4oB5%2FigCaDGNhXabytcFyt2PaVgTUzIatJ2tzGkhX7qeFrr448jgad%2BBmQFliiDP38w38P%2B8gU67AGj58AcvD0IOb%2BSZjmbZ3SHGuG70DgsslPpjNSgfUm3zRtM1GLZT4Nx%2BSTL8XLk%2FWILL18Ll7WGEDt8GfTPwrVqP8v6l3ghumzfJ9Yibe%2FQfMO7%2BGdV1YC7LAiM9nOFpX6YdoIpmkY3XYRdniPV3cfSC%2BmEl9eyCwyTiWpuTZRguvNc05DubICthjrF1OYUmYfNz4pgEgc3fFWx9%2BiForS3tF6nj0LUxFKoh7NcPVkhs%2Betggc857S1tMATTkCcbjFGe65G79jLr1IDM%2Bs3C5%2BA2%2FQn0oDXKcWH0Txu38Yc3ssyBTNRSbi0ptD1PQ%3D%3D&Signature=WXJncbFSanMijSs0vn2ae1qJ9Lc%3D) provided by binance team and unzip it into the ${chain-home}/data. You can download by `nohup curl ${the download url} > data.zip &`. -- Download new binary from current page. +- Download new binary from current [page](https://github.com/binance-chain/node-binary/blob/quicksync/quicksync/bnbchaind). - Modify the config `with_app_stat = true` of ${chain-home}/config/config.toml into `with_app_stat = false`. - Modify all the config `indexer = "kv"` of ${chain-home}/config/config.toml into `indexer = "null"`. - Modify the config `state_sync_reactor = true` of ${chain-home}/config/config.toml into `state_sync_reactor = false`. From 7122b30854dad8b40eb30a081a7a4ceb62c495cc Mon Sep 17 00:00:00 2001 From: zjubfd <296179868@qq.com> Date: Wed, 4 Mar 2020 21:35:44 +0800 Subject: [PATCH 11/21] Update Readme.md update --- quicksync/Readme.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/quicksync/Readme.md b/quicksync/Readme.md index 28e2e46..975fdf6 100644 --- a/quicksync/Readme.md +++ b/quicksync/Readme.md @@ -28,8 +28,10 @@ Once the replay finish, the process will stop automatically. ## Test result: - **Hardware**: 8core,32G linux -- **Settings**: local publisher with all topic, replay 2000000 blocks, the number of tx is 2676645 -- **Result**: It takes 54 minutes, the average speed is 617 block/seconds. When there are 50 txs in one block, the speed is about 140 blocks/second. If the block is empty, the speed is about 625 blocks/second. +- ** Main-net ** +- ** QA network ** + - **Settings**: local publisher with all topic, replay 2000000 blocks, the number of tx is 2676645 + - **Result**: It takes 54 minutes, the average speed is 617 block/seconds. When there are 50 txs in one block, the speed is about 140 blocks/second. If the block is empty, the speed is about 625 blocks/second. ## Suggestion: From a3d86d478e78dc5eb140e03564b7e624f24e0e77 Mon Sep 17 00:00:00 2001 From: zjubfd <296179868@qq.com> Date: Wed, 4 Mar 2020 21:36:14 +0800 Subject: [PATCH 12/21] Update Readme.md update --- quicksync/Readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/quicksync/Readme.md b/quicksync/Readme.md index 975fdf6..8bc1024 100644 --- a/quicksync/Readme.md +++ b/quicksync/Readme.md @@ -28,8 +28,8 @@ Once the replay finish, the process will stop automatically. ## Test result: - **Hardware**: 8core,32G linux -- ** Main-net ** -- ** QA network ** +- **Main-net** +- **QA-net** - **Settings**: local publisher with all topic, replay 2000000 blocks, the number of tx is 2676645 - **Result**: It takes 54 minutes, the average speed is 617 block/seconds. When there are 50 txs in one block, the speed is about 140 blocks/second. If the block is empty, the speed is about 625 blocks/second. From 2ef79335d47195f40bcfb926ddcdd5458abcefc0 Mon Sep 17 00:00:00 2001 From: zjubfd <296179868@qq.com> Date: Wed, 4 Mar 2020 21:52:44 +0800 Subject: [PATCH 13/21] Update Readme.md add more --- quicksync/Readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/quicksync/Readme.md b/quicksync/Readme.md index 8bc1024..9c8d7b6 100644 --- a/quicksync/Readme.md +++ b/quicksync/Readme.md @@ -25,6 +25,7 @@ Once the replay finish, the process will stop automatically. - Merkle tree implement is replaced by memory DB. - No root hash verification, no basic verification for tx, no signature verification. - No snapshot at breath block. +- No replay of validatorSet change. ## Test result: - **Hardware**: 8core,32G linux From 202def09980ccc82ebd280260ce0dba8f6eb6292 Mon Sep 17 00:00:00 2001 From: zjubfd <296179868@qq.com> Date: Wed, 4 Mar 2020 21:53:59 +0800 Subject: [PATCH 14/21] Update Readme.md change title --- quicksync/Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quicksync/Readme.md b/quicksync/Readme.md index 9c8d7b6..a9a60fb 100644 --- a/quicksync/Readme.md +++ b/quicksync/Readme.md @@ -1,4 +1,4 @@ -# Solution to speed up sync +# Fast replay Binance chain team provide a snapshot data of all history blocks and state for downloading. Full nodes can replay blocks locally without verification after downloading the data. From ee1837f6f0c2d895bbb7cf83645ea69c0f07f2ce Mon Sep 17 00:00:00 2001 From: zjubfd <296179868@qq.com> Date: Wed, 4 Mar 2020 21:57:25 +0800 Subject: [PATCH 15/21] Update Readme.md orders --- quicksync/Readme.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/quicksync/Readme.md b/quicksync/Readme.md index a9a60fb..026479b 100644 --- a/quicksync/Readme.md +++ b/quicksync/Readme.md @@ -2,7 +2,12 @@ Binance chain team provide a snapshot data of all history blocks and state for downloading. Full nodes can replay blocks locally without verification after downloading the data. -## Replay Step +## Before start +Some suggestions before use the tool: +- Local publisher is a better choice than Kafka publisher. The local file of the local publisher can compress and rotate according to the config `localMaxSize` and `localMaxAge` of ${chain-home}/config/app.toml, so the size of the local file won't be an issue, and the data can be reused. The binance chain client takes around 7ms to publish a Kafka message when the Kafka cluster contains 3 nodes. Because the `ack` of Kafka needs all isr to confirm, which may become the bottleneck. If Kafka is essential, then a single node Kafka will improve the performance. +- As it use memory DB to store state, a VM with large memory will help. + +## Step - Download snapshot from the [url](https://s3.ap-northeast-1.amazonaws.com/dex-bin.bnbstatic.com/chain-analisis-download-data/server-bnbchaind-disaster-node-gaiad-data.zip?AWSAccessKeyId=ASIAYINE6SBQKG4SGLJW&Expires=1609247337&x-amz-security-token=IQoJb3JpZ2luX2VjEIX%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDmFwLW5vcnRoZWFzdC0xIkYwRAIgU3v5TNgme1kRb%2FWhNRtQXPTepaCUVy2GIdh9ZUpQjOECIBvzF3RU2u9mnrbagEHKdSXlkcYkTuFczbYI8sRCJgtCKr4DCF4QARoMNTY3ODE4NDg5OTUyIgwOqmbmpA0dKZpX12UqmwMKGTuT%2FUcAdFdRyz4gifUh2aBbePT%2F7ubPkygZ7pMpYGJrqd90ZQjpkZaSqVTKnUrKNt7kvElij1HTakf8nyo9yLmJzNu2y6d%2FNLdGaOHZ3ie14mMs9XRwXr%2BhhjZKSUQ4zA1lgU%2FxiZDIzKS%2BSQu5JeKZGqtkCUrqJZpluuB2fvvlQw5PhNMtL%2FM0qzQbvNootsFTQ7gLFzopRODGmPDFyfoh17nF0If7wb9O0KPi24W45llzrpEfPi2vTyUHUgBHxlDDiUWYSxuFQhP1%2BfjLGHC4jR3H6WCXgq1ASYsLxP08EGpOLtwcPh%2F%2FTXXGbKYvHWwvE9mb3nyB2RFa12KvG2nZU2Agi1h%2FT0sOtW3T7fRl0Cc2jNTlK4iNPEzm%2FQT6T3gCTNLLS7ohatA6xtg25QcKL2t8%2FfAF7uwCqdiXE%2BYVwwRyWH1kbu96DBF%2FaAh6BzXTH34FiepbG96vj1NSs82ydXYVaiCmO4oB5%2FigCaDGNhXabytcFyt2PaVgTUzIatJ2tzGkhX7qeFrr448jgad%2BBmQFliiDP38w38P%2B8gU67AGj58AcvD0IOb%2BSZjmbZ3SHGuG70DgsslPpjNSgfUm3zRtM1GLZT4Nx%2BSTL8XLk%2FWILL18Ll7WGEDt8GfTPwrVqP8v6l3ghumzfJ9Yibe%2FQfMO7%2BGdV1YC7LAiM9nOFpX6YdoIpmkY3XYRdniPV3cfSC%2BmEl9eyCwyTiWpuTZRguvNc05DubICthjrF1OYUmYfNz4pgEgc3fFWx9%2BiForS3tF6nj0LUxFKoh7NcPVkhs%2Betggc857S1tMATTkCcbjFGe65G79jLr1IDM%2Bs3C5%2BA2%2FQn0oDXKcWH0Txu38Yc3ssyBTNRSbi0ptD1PQ%3D%3D&Signature=WXJncbFSanMijSs0vn2ae1qJ9Lc%3D) provided by binance team and unzip it into the ${chain-home}/data. You can download by `nohup curl ${the download url} > data.zip &`. - Download new binary from current [page](https://github.com/binance-chain/node-binary/blob/quicksync/quicksync/bnbchaind). - Modify the config `with_app_stat = true` of ${chain-home}/config/config.toml into `with_app_stat = false`. @@ -35,10 +40,5 @@ Once the replay finish, the process will stop automatically. - **Result**: It takes 54 minutes, the average speed is 617 block/seconds. When there are 50 txs in one block, the speed is about 140 blocks/second. If the block is empty, the speed is about 625 blocks/second. -## Suggestion: - -- Local publisher is a better choice than Kafka publisher. The local file of the local publisher can compress and rotate according to the config `localMaxSize` and `localMaxAge` of ${chain-home}/config/app.toml, so the size of the local file won't be an issue, and the data can be reused. The binance chain client takes around 7ms to publish a Kafka message when the Kafka cluster contains 3 nodes. Because the `ack` of Kafka needs all isr to confirm, which may become the bottleneck. If Kafka is essential, then a single node Kafka will improve the performance. -- As it use memory DB to store state, a VM with large memory will help. - From 23643843096f565c0ffe3176ab2755ae48417fcb Mon Sep 17 00:00:00 2001 From: zjubfd <296179868@qq.com> Date: Thu, 5 Mar 2020 06:55:22 +0800 Subject: [PATCH 16/21] Update Readme.md updates --- quicksync/Readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/quicksync/Readme.md b/quicksync/Readme.md index 026479b..361f8fb 100644 --- a/quicksync/Readme.md +++ b/quicksync/Readme.md @@ -35,6 +35,8 @@ Once the replay finish, the process will stop automatically. ## Test result: - **Hardware**: 8core,32G linux - **Main-net** + - **Settings**: local publisher with all topic, replay 17927253 blocks, the number of tx is 3686353 + - **Result**: It takes 574 minutes, the the average speed is 520 blocks/seconds. - **QA-net** - **Settings**: local publisher with all topic, replay 2000000 blocks, the number of tx is 2676645 - **Result**: It takes 54 minutes, the average speed is 617 block/seconds. When there are 50 txs in one block, the speed is about 140 blocks/second. If the block is empty, the speed is about 625 blocks/second. From 7b9183492f4a1f1927005cf61447a5680c0ee82a Mon Sep 17 00:00:00 2001 From: zjubfd <296179868@qq.com> Date: Thu, 5 Mar 2020 07:07:59 +0800 Subject: [PATCH 17/21] Update Readme.md correct --- quicksync/Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quicksync/Readme.md b/quicksync/Readme.md index 361f8fb..6fe2de8 100644 --- a/quicksync/Readme.md +++ b/quicksync/Readme.md @@ -3,7 +3,7 @@ Binance chain team provide a snapshot data of all history blocks and state for downloading. Full nodes can replay blocks locally without verification after downloading the data. ## Before start -Some suggestions before use the tool: +Some suggestions before using the tool: - Local publisher is a better choice than Kafka publisher. The local file of the local publisher can compress and rotate according to the config `localMaxSize` and `localMaxAge` of ${chain-home}/config/app.toml, so the size of the local file won't be an issue, and the data can be reused. The binance chain client takes around 7ms to publish a Kafka message when the Kafka cluster contains 3 nodes. Because the `ack` of Kafka needs all isr to confirm, which may become the bottleneck. If Kafka is essential, then a single node Kafka will improve the performance. - As it use memory DB to store state, a VM with large memory will help. From da7addb366ea3cb340f43f838f7f883bf0bf236d Mon Sep 17 00:00:00 2001 From: zjubfd <296179868@qq.com> Date: Sat, 14 Mar 2020 21:42:18 +0800 Subject: [PATCH 18/21] urp update --- quicksync/Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quicksync/Readme.md b/quicksync/Readme.md index 6fe2de8..47e95d0 100644 --- a/quicksync/Readme.md +++ b/quicksync/Readme.md @@ -8,7 +8,7 @@ Some suggestions before using the tool: - As it use memory DB to store state, a VM with large memory will help. ## Step -- Download snapshot from the [url](https://s3.ap-northeast-1.amazonaws.com/dex-bin.bnbstatic.com/chain-analisis-download-data/server-bnbchaind-disaster-node-gaiad-data.zip?AWSAccessKeyId=ASIAYINE6SBQKG4SGLJW&Expires=1609247337&x-amz-security-token=IQoJb3JpZ2luX2VjEIX%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDmFwLW5vcnRoZWFzdC0xIkYwRAIgU3v5TNgme1kRb%2FWhNRtQXPTepaCUVy2GIdh9ZUpQjOECIBvzF3RU2u9mnrbagEHKdSXlkcYkTuFczbYI8sRCJgtCKr4DCF4QARoMNTY3ODE4NDg5OTUyIgwOqmbmpA0dKZpX12UqmwMKGTuT%2FUcAdFdRyz4gifUh2aBbePT%2F7ubPkygZ7pMpYGJrqd90ZQjpkZaSqVTKnUrKNt7kvElij1HTakf8nyo9yLmJzNu2y6d%2FNLdGaOHZ3ie14mMs9XRwXr%2BhhjZKSUQ4zA1lgU%2FxiZDIzKS%2BSQu5JeKZGqtkCUrqJZpluuB2fvvlQw5PhNMtL%2FM0qzQbvNootsFTQ7gLFzopRODGmPDFyfoh17nF0If7wb9O0KPi24W45llzrpEfPi2vTyUHUgBHxlDDiUWYSxuFQhP1%2BfjLGHC4jR3H6WCXgq1ASYsLxP08EGpOLtwcPh%2F%2FTXXGbKYvHWwvE9mb3nyB2RFa12KvG2nZU2Agi1h%2FT0sOtW3T7fRl0Cc2jNTlK4iNPEzm%2FQT6T3gCTNLLS7ohatA6xtg25QcKL2t8%2FfAF7uwCqdiXE%2BYVwwRyWH1kbu96DBF%2FaAh6BzXTH34FiepbG96vj1NSs82ydXYVaiCmO4oB5%2FigCaDGNhXabytcFyt2PaVgTUzIatJ2tzGkhX7qeFrr448jgad%2BBmQFliiDP38w38P%2B8gU67AGj58AcvD0IOb%2BSZjmbZ3SHGuG70DgsslPpjNSgfUm3zRtM1GLZT4Nx%2BSTL8XLk%2FWILL18Ll7WGEDt8GfTPwrVqP8v6l3ghumzfJ9Yibe%2FQfMO7%2BGdV1YC7LAiM9nOFpX6YdoIpmkY3XYRdniPV3cfSC%2BmEl9eyCwyTiWpuTZRguvNc05DubICthjrF1OYUmYfNz4pgEgc3fFWx9%2BiForS3tF6nj0LUxFKoh7NcPVkhs%2Betggc857S1tMATTkCcbjFGe65G79jLr1IDM%2Bs3C5%2BA2%2FQn0oDXKcWH0Txu38Yc3ssyBTNRSbi0ptD1PQ%3D%3D&Signature=WXJncbFSanMijSs0vn2ae1qJ9Lc%3D) provided by binance team and unzip it into the ${chain-home}/data. You can download by `nohup curl ${the download url} > data.zip &`. +- Download snapshot from the [url](https://s3.ap-northeast-1.amazonaws.com/dex-bin.bnbstatic.com/chain-analisis-download-data/server-bnbchaind-disaster-node-gaiad-data.zip\?AWSAccessKeyId\=ASIAYINE6SBQNGQKSYFP\&Expires\=1599745007\&x-amz-security-token\=IQoJb3JpZ2luX2VjEHUaDmFwLW5vcnRoZWFzdC0xIkgwRgIhAMLv6Y91z1aktYYZ88C%2B9g3ziCX5BIRcxZhQKDqUjEzgAiEA0947HlYCXPSn2q8lfFNnN82DSrST%2FF%2Bb5lNh5afAlgoqvgMIXhABGgw1Njc4MTg0ODk5NTIiDHq5KXRiV%2FRnCsP50CqbA1B0c4r%2FFiF4W1Ar%2BTooyMSvpUuhD33UljqOFecaxgHHtR2KOGMjC6%2BVVaIH1%2FmIoCCSlgechahJ9utB0r22zDSYZ5Qf8j8o07HMhyhEAhJe47msbrM5F2GDozvsaVPv4NU6enqSTwvaHrrKT7rKHro5m0xAfKYyEsq6VPdCgEkrzvqM%2BEkkIXa0NDlFIvL3NNlHHwULo0gQlVWgZqt4LoBK6Mdh4SE9Sg%2FcdS29Ymzm6KrA8XsJgKzjunAfgr4tVfNv8gHFh1CkfMqdici9RGPA0CG1nF%2B%2B58yJVm6%2BdlXR%2Fp7LFKVrsRcDQvMzd3IjIxT61Hmp%2BqLgE29ss1bpqdupgOWiU20YxAJlLd83Dy%2BpRGqcqQUw9sty7xH1WE1oFEjUOc1gZv0C3IvN31ZVos65aXaB5Nb4X834pYK4ko83XS%2Fv1JIfuVyqrasUkVoLTTTWDhyPU%2FwXfO1HWxMT18WBZVver%2BxszJF%2F65bp19mOjyKd3MlI7RgYu8W3kPf9u6Dhck%2BXa3ViAgfmlkF%2BkzBv0GW8kTl1PeALbTDEorPzBTrqAQpTpoxmHHS1NuR52sAwcFHF1zG53vDXInCoVv0PADrJarQst2GfgI7hCwlg9MWhQAd1aUEb9vJxlXAtBTHn8OLbxJxLjNHLlrnRJ3m8BecT%2FJM%2FbcwD9U7Itz7zvga44nI2bpo12Cow7GsXpjlzTw1KKvNrUxqCitlAPCiDbrSfEAdqOBU31DnuE1TKQNX708d0GsJOFmxBczLQbRq0WIM5DDM0DiklFrRa%2Bf%2BQM4h2yIQwdWXj2f1qlRiizdPW8DIsH%2BsyT5ADySgJmg9pU2b91bx3RnaKPYHRpa34KT42OQZMUxSg72sBqQ%3D%3D\&Signature\=PZ9pPJxiE8DAUVpUAIE7CLWqHV8%3D) provided by binance team and unzip it into the ${chain-home}/data. You can download by `nohup curl ${the download url} > data.zip &`. - Download new binary from current [page](https://github.com/binance-chain/node-binary/blob/quicksync/quicksync/bnbchaind). - Modify the config `with_app_stat = true` of ${chain-home}/config/config.toml into `with_app_stat = false`. - Modify all the config `indexer = "kv"` of ${chain-home}/config/config.toml into `indexer = "null"`. From 3a789272d071d83c8e471f3dbd1986b93e64ef27 Mon Sep 17 00:00:00 2001 From: zjubfd <296179868@qq.com> Date: Wed, 18 Mar 2020 10:57:26 +0800 Subject: [PATCH 19/21] update --- quicksync/Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quicksync/Readme.md b/quicksync/Readme.md index 47e95d0..63d17dc 100644 --- a/quicksync/Readme.md +++ b/quicksync/Readme.md @@ -8,7 +8,7 @@ Some suggestions before using the tool: - As it use memory DB to store state, a VM with large memory will help. ## Step -- Download snapshot from the [url](https://s3.ap-northeast-1.amazonaws.com/dex-bin.bnbstatic.com/chain-analisis-download-data/server-bnbchaind-disaster-node-gaiad-data.zip\?AWSAccessKeyId\=ASIAYINE6SBQNGQKSYFP\&Expires\=1599745007\&x-amz-security-token\=IQoJb3JpZ2luX2VjEHUaDmFwLW5vcnRoZWFzdC0xIkgwRgIhAMLv6Y91z1aktYYZ88C%2B9g3ziCX5BIRcxZhQKDqUjEzgAiEA0947HlYCXPSn2q8lfFNnN82DSrST%2FF%2Bb5lNh5afAlgoqvgMIXhABGgw1Njc4MTg0ODk5NTIiDHq5KXRiV%2FRnCsP50CqbA1B0c4r%2FFiF4W1Ar%2BTooyMSvpUuhD33UljqOFecaxgHHtR2KOGMjC6%2BVVaIH1%2FmIoCCSlgechahJ9utB0r22zDSYZ5Qf8j8o07HMhyhEAhJe47msbrM5F2GDozvsaVPv4NU6enqSTwvaHrrKT7rKHro5m0xAfKYyEsq6VPdCgEkrzvqM%2BEkkIXa0NDlFIvL3NNlHHwULo0gQlVWgZqt4LoBK6Mdh4SE9Sg%2FcdS29Ymzm6KrA8XsJgKzjunAfgr4tVfNv8gHFh1CkfMqdici9RGPA0CG1nF%2B%2B58yJVm6%2BdlXR%2Fp7LFKVrsRcDQvMzd3IjIxT61Hmp%2BqLgE29ss1bpqdupgOWiU20YxAJlLd83Dy%2BpRGqcqQUw9sty7xH1WE1oFEjUOc1gZv0C3IvN31ZVos65aXaB5Nb4X834pYK4ko83XS%2Fv1JIfuVyqrasUkVoLTTTWDhyPU%2FwXfO1HWxMT18WBZVver%2BxszJF%2F65bp19mOjyKd3MlI7RgYu8W3kPf9u6Dhck%2BXa3ViAgfmlkF%2BkzBv0GW8kTl1PeALbTDEorPzBTrqAQpTpoxmHHS1NuR52sAwcFHF1zG53vDXInCoVv0PADrJarQst2GfgI7hCwlg9MWhQAd1aUEb9vJxlXAtBTHn8OLbxJxLjNHLlrnRJ3m8BecT%2FJM%2FbcwD9U7Itz7zvga44nI2bpo12Cow7GsXpjlzTw1KKvNrUxqCitlAPCiDbrSfEAdqOBU31DnuE1TKQNX708d0GsJOFmxBczLQbRq0WIM5DDM0DiklFrRa%2Bf%2BQM4h2yIQwdWXj2f1qlRiizdPW8DIsH%2BsyT5ADySgJmg9pU2b91bx3RnaKPYHRpa34KT42OQZMUxSg72sBqQ%3D%3D\&Signature\=PZ9pPJxiE8DAUVpUAIE7CLWqHV8%3D) provided by binance team and unzip it into the ${chain-home}/data. You can download by `nohup curl ${the download url} > data.zip &`. +- Download snapshot from the [url](https://s3.ap-northeast-1.amazonaws.com/dex-bin.bnbstatic.com/chain-analisis-download-data/server-bnbchaind-disaster-node-gaiad-data.zip?AWSAccessKeyId=AKIAYINE6SBQLLLS7OXI&Signature=lKVPVfQSxVewd2AZNaw81TgGWqs%3D&Expires=1610338195) provided by binance team and unzip it into the ${chain-home}/data. You can download by `nohup curl ${the download url} > data.zip &`. - Download new binary from current [page](https://github.com/binance-chain/node-binary/blob/quicksync/quicksync/bnbchaind). - Modify the config `with_app_stat = true` of ${chain-home}/config/config.toml into `with_app_stat = false`. - Modify all the config `indexer = "kv"` of ${chain-home}/config/config.toml into `indexer = "null"`. From 14079281953cc19d72370ba57a25778f143b063f Mon Sep 17 00:00:00 2001 From: zjubfd <296179868@qq.com> Date: Tue, 2 Jun 2020 00:42:18 +0800 Subject: [PATCH 20/21] update --- quicksync/Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quicksync/Readme.md b/quicksync/Readme.md index 63d17dc..c5f89d2 100644 --- a/quicksync/Readme.md +++ b/quicksync/Readme.md @@ -8,7 +8,7 @@ Some suggestions before using the tool: - As it use memory DB to store state, a VM with large memory will help. ## Step -- Download snapshot from the [url](https://s3.ap-northeast-1.amazonaws.com/dex-bin.bnbstatic.com/chain-analisis-download-data/server-bnbchaind-disaster-node-gaiad-data.zip?AWSAccessKeyId=AKIAYINE6SBQLLLS7OXI&Signature=lKVPVfQSxVewd2AZNaw81TgGWqs%3D&Expires=1610338195) provided by binance team and unzip it into the ${chain-home}/data. You can download by `nohup curl ${the download url} > data.zip &`. +- Download snapshot from the [url](https://s3.ap-northeast-1.amazonaws.com/dex-bin.bnbstatic.com/chain-analisis-download-data/server-bnbchaind-disaster-node-gaiad-data.zip?AWSAccessKeyId=AKIAYINE6SBQLLLS7OXI&Signature=lKVPVfQSxVewd2AZNaw81TgGWqs%3D&Expires=1610338195) provided by binance team and unzip it into the ${chain-home}/data. You can download by `nohup wet ${the download url} &`. - Download new binary from current [page](https://github.com/binance-chain/node-binary/blob/quicksync/quicksync/bnbchaind). - Modify the config `with_app_stat = true` of ${chain-home}/config/config.toml into `with_app_stat = false`. - Modify all the config `indexer = "kv"` of ${chain-home}/config/config.toml into `indexer = "null"`. From 42ae6bed596c0b3c1442de50d4594b528aa08aff Mon Sep 17 00:00:00 2001 From: zjubfd <296179868@qq.com> Date: Tue, 2 Jun 2020 01:04:06 +0800 Subject: [PATCH 21/21] update --- quicksync/Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quicksync/Readme.md b/quicksync/Readme.md index c5f89d2..f6a23ce 100644 --- a/quicksync/Readme.md +++ b/quicksync/Readme.md @@ -8,7 +8,7 @@ Some suggestions before using the tool: - As it use memory DB to store state, a VM with large memory will help. ## Step -- Download snapshot from the [url](https://s3.ap-northeast-1.amazonaws.com/dex-bin.bnbstatic.com/chain-analisis-download-data/server-bnbchaind-disaster-node-gaiad-data.zip?AWSAccessKeyId=AKIAYINE6SBQLLLS7OXI&Signature=lKVPVfQSxVewd2AZNaw81TgGWqs%3D&Expires=1610338195) provided by binance team and unzip it into the ${chain-home}/data. You can download by `nohup wet ${the download url} &`. +- Download snapshot from the [url](https://s3.ap-northeast-1.amazonaws.com/dex-bin.bnbstatic.com/chain-analisis-download-data/server-bnbchaind-disaster-node-gaiad-data.zip?AWSAccessKeyId=AKIAYINE6SBQLLLS7OXI&Signature=lKVPVfQSxVewd2AZNaw81TgGWqs%3D&Expires=1610338195) provided by binance team and unzip it into the ${chain-home}/data. You can download by `nohup curl -s ${the download url} > data.zip &`. - Download new binary from current [page](https://github.com/binance-chain/node-binary/blob/quicksync/quicksync/bnbchaind). - Modify the config `with_app_stat = true` of ${chain-home}/config/config.toml into `with_app_stat = false`. - Modify all the config `indexer = "kv"` of ${chain-home}/config/config.toml into `indexer = "null"`.