Skip to content

Commit d9e7479

Browse files
authored
Merge pull request #983 from ainblockchain/release/v1.0.6
Release/v1.0.6
2 parents 0310ca2 + 0c6ac98 commit d9e7479

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+2534
-399
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ gcloud init
4646
# For one-off deploy
4747
bash deploy_blockchain_gcp.sh {dev|spring|summer} <YOUR_GCP_USER_NAME> <NUMBER_OF_SHARDS> [--setup]
4848
# For incremental deploy
49-
bash deploy_blockchain_incremental_gcp.sh {dev|staging|spring|summer} <YOUR_GCP_USER_NAME> <NUMBER_OF_SHARDS> [--setup]
49+
bash deploy_blockchain_incremental_gcp.sh {dev|staging|exp|spring|summer} <YOUR_GCP_USER_NAME> <NUMBER_OF_SHARDS> [--setup]
5050
```
5151
- Set up Ubuntu machine (if it's on a new VM)
5252
```
@@ -133,7 +133,7 @@ gcloud init
133133
# For one-off deploy
134134
bash deploy_blockchain_gcp.sh {dev|spring|summer} <YOUR_GCP_USER_NAME> <NUMBER_OF_SHARDS> [--setup]
135135
# For incremental deploy
136-
bash deploy_blockchain_incremental_gcp.sh {dev|staging|spring|summer} <YOUR_GCP_USER_NAME> <NUMBER_OF_SHARDS> [--setup]
136+
bash deploy_blockchain_incremental_gcp.sh {dev|staging|exp|spring|summer} <YOUR_GCP_USER_NAME> <NUMBER_OF_SHARDS> [--setup]
137137
```
138138
- Set up Ubuntu machine (if it's on a new VM)
139139
```

block-pool/index.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@ class BlockPool {
322322
this.hashToDb.set(blockHash, db);
323323
}
324324

325-
addSeenBlock(block, proposalTx, isValid = true) {
325+
addSeenBlock(block, proposalTx, isValid = true, isFromSnapshot = false) {
326326
const LOG_HEADER = 'addSeenBlock';
327327
logger.info(
328328
`[${LOG_HEADER}] Adding seen block to the block pool: ${block.hash} / ${block.number} / ${block.epoch} / ${isValid}`);
@@ -335,7 +335,7 @@ class BlockPool {
335335
this.addToNumberToBlockSet(block);
336336
this.epochToBlock.set(block.epoch, blockHash);
337337
this.addToNextBlockSet(block);
338-
this.tryUpdateNotarized(blockHash);
338+
this.tryUpdateNotarized(blockHash, isFromSnapshot);
339339
// FIXME: update all descendants, not just the immediate ones
340340
if (this.hashToNextBlockSet.has(blockHash)) {
341341
for (const val of this.hashToNextBlockSet.get(blockHash)) {
@@ -438,7 +438,7 @@ class BlockPool {
438438
logger.debug(`[${LOG_HEADER}] Proposal tx for block added: ${blockHash}`);
439439
}
440440

441-
tryUpdateNotarized(blockHash) {
441+
tryUpdateNotarized(blockHash, isFromSnapshot = false) {
442442
const LOG_HEADER = 'tryUpdateNotarized';
443443
const currentBlockInfo = this.hashToBlockInfo.get(blockHash);
444444
if (!currentBlockInfo || !currentBlockInfo.block) {
@@ -448,7 +448,7 @@ class BlockPool {
448448
if (currentBlockInfo.notarized) {
449449
return;
450450
}
451-
if (currentBlockInfo.block.number === 0) {
451+
if (currentBlockInfo.block.number === 0 || isFromSnapshot) {
452452
currentBlockInfo.notarized = true;
453453
this.updateLongestNotarizedChains();
454454
return;
@@ -464,7 +464,8 @@ class BlockPool {
464464
this.node.bc.getBlockByHash(lastHash);
465465
}
466466
if (!prevBlock) {
467-
logger.info(`[${LOG_HEADER}] Prev block is unavailable`);
467+
logger.error(
468+
`[${LOG_HEADER}] Prev block of block ${currentBlockInfo.block.number} is unavailable`);
468469
return;
469470
}
470471
const totalAtStake = Object.values(prevBlock.validators).reduce((acc, cur) => {

blockchain-configs/afan-shard/node_params.json

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"BLOCKCHAIN_DATA_DIR": "./ain_blockchain_data",
44
"BLOCKCHAIN_GUIDE_URL": "https://docs.ainetwork.ai",
55
"CHAIN_SEGMENT_LENGTH": 20,
6+
"CHAIN_SEGMENT_SLEEP_MS": 10000,
67
"CHAINS_H2N_HASH_PREFIX_LENGTH": 5,
78
"CHAINS_N2B_MAX_NUM_FILES": 100000,
89
"CONSOLE_LOG": false,
@@ -27,6 +28,7 @@
2728
"ENABLE_STATUS_REPORT_TO_TRACKER": true,
2829
"ENABLE_TX_SIG_VERIF_WORKAROUND": false,
2930
"EVENT_HANDLER_PORT": 6000,
31+
"EVENT_HANDLER_HEARTBEAT_INTERVAL_MS": 15000,
3032
"GET_OP_LIST_SIZE_LIMIT": 50,
3133
"GET_RESP_BYTES_LIMIT": 200000000,
3234
"GET_RESP_MAX_SIBLINGS": 50000,
@@ -36,8 +38,9 @@
3638
"MAX_FINALIZED_BLOCK_INFO_ON_MEM": 1000,
3739
"MAX_NUM_INBOUND_CONNECTION": 3,
3840
"MAX_NUM_SNAPSHOTS": 10,
41+
"OLD_CHAIN_SEGMENT_LENGTH": 20,
42+
"OLD_CHAIN_SEGMENT_SLEEP_MS": 10000,
3943
"ON_MEMORY_CHAIN_LENGTH": 10,
40-
"P2P_GENESIS_BLOCK_HASH_MISMATCH_SLEEP_MS": 10000,
4144
"P2P_HEARTBEAT_INTERVAL_MS": 15000,
4245
"P2P_MESSAGE_TIMEOUT_MS": 600000,
4346
"P2P_PORT": 5000,
@@ -51,8 +54,9 @@
5154
"PORT": 8080,
5255
"REST_FUNCTION_CALL_TIMEOUT_MS": 10000,
5356
"REQUEST_BODY_SIZE_LIMIT": "100mb",
57+
"SEND_SNAPSHOT_CHUNK_SLEEP_TIME_MS": 1000,
5458
"SNAPSHOTS_INTERVAL_BLOCK_NUMBER": 1000,
55-
"SYNC_MODE": "full",
59+
"SYNC_MODE": "fast",
5660
"TARGET_NUM_OUTBOUND_CONNECTION": 2,
5761
"TRACKER_UPDATE_JSON_RPC_URL": "http://localhost:9000/json-rpc",
5862
"TRACKER_UPDATE_INTERVAL_MS": 15000,
@@ -68,4 +72,4 @@
6872
"TX_POOL_TIMEOUT_MS": 3600000,
6973
"TX_TRACKER_TIMEOUT_MS": 86400000,
7074
"UNSAFE_PRIVATE_KEY": null
71-
}
75+
}

blockchain-configs/base/node_params.json

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"BLOCKCHAIN_DATA_DIR": "./ain_blockchain_data",
44
"BLOCKCHAIN_GUIDE_URL": "https://docs.ainetwork.ai",
55
"CHAIN_SEGMENT_LENGTH": 20,
6+
"CHAIN_SEGMENT_SLEEP_MS": 10000,
67
"CHAINS_H2N_HASH_PREFIX_LENGTH": 5,
78
"CHAINS_N2B_MAX_NUM_FILES": 100000,
89
"CONSOLE_LOG": false,
@@ -27,6 +28,7 @@
2728
"ENABLE_STATUS_REPORT_TO_TRACKER": true,
2829
"ENABLE_TX_SIG_VERIF_WORKAROUND": false,
2930
"EVENT_HANDLER_PORT": 6000,
31+
"EVENT_HANDLER_HEARTBEAT_INTERVAL_MS": 15000,
3032
"GET_OP_LIST_SIZE_LIMIT": 50,
3133
"GET_RESP_BYTES_LIMIT": 200000000,
3234
"GET_RESP_MAX_SIBLINGS": 50000,
@@ -36,8 +38,9 @@
3638
"MAX_FINALIZED_BLOCK_INFO_ON_MEM": 1000,
3739
"MAX_NUM_INBOUND_CONNECTION": 6,
3840
"MAX_NUM_SNAPSHOTS": 10,
41+
"OLD_CHAIN_SEGMENT_LENGTH": 20,
42+
"OLD_CHAIN_SEGMENT_SLEEP_MS": 10000,
3943
"ON_MEMORY_CHAIN_LENGTH": 10,
40-
"P2P_GENESIS_BLOCK_HASH_MISMATCH_SLEEP_MS": 10000,
4144
"P2P_HEARTBEAT_INTERVAL_MS": 15000,
4245
"P2P_MESSAGE_TIMEOUT_MS": 600000,
4346
"P2P_PORT": 5000,
@@ -51,8 +54,9 @@
5154
"PORT": 8080,
5255
"REST_FUNCTION_CALL_TIMEOUT_MS": 10000,
5356
"REQUEST_BODY_SIZE_LIMIT": "100mb",
57+
"SEND_SNAPSHOT_CHUNK_SLEEP_TIME_MS": 1000,
5458
"SNAPSHOTS_INTERVAL_BLOCK_NUMBER": 1000,
55-
"SYNC_MODE": "full",
59+
"SYNC_MODE": "fast",
5660
"TARGET_NUM_OUTBOUND_CONNECTION": 3,
5761
"TRACKER_UPDATE_JSON_RPC_URL": "http://localhost:8080/json-rpc",
5862
"TRACKER_UPDATE_INTERVAL_MS": 15000,
@@ -68,4 +72,4 @@
6872
"TX_POOL_TIMEOUT_MS": 3600000,
6973
"TX_TRACKER_TIMEOUT_MS": 86400000,
7074
"UNSAFE_PRIVATE_KEY": null
71-
}
75+
}

blockchain-configs/base/timer_flags.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,10 @@
2626
"update_bandwidth_budget_params": {
2727
"enabled_block": 2,
2828
"has_bandage": true
29+
},
30+
"disable_tx_receipt_recording": {
31+
"enabled_block": 2,
32+
"has_bandage": false,
33+
"_note": "Remove this flag or set disabled_block to 2 if you need to run with the tx receipt recording feature"
2934
}
3035
}

blockchain-configs/he-shard/node_params.json

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"BLOCKCHAIN_DATA_DIR": "./ain_blockchain_data",
44
"BLOCKCHAIN_GUIDE_URL": "https://docs.ainetwork.ai",
55
"CHAIN_SEGMENT_LENGTH": 20,
6+
"CHAIN_SEGMENT_SLEEP_MS": 10000,
67
"CHAINS_H2N_HASH_PREFIX_LENGTH": 5,
78
"CHAINS_N2B_MAX_NUM_FILES": 100000,
89
"CONSOLE_LOG": false,
@@ -27,6 +28,7 @@
2728
"ENABLE_STATUS_REPORT_TO_TRACKER": true,
2829
"ENABLE_TX_SIG_VERIF_WORKAROUND": false,
2930
"EVENT_HANDLER_PORT": 6000,
31+
"EVENT_HANDLER_HEARTBEAT_INTERVAL_MS": 15000,
3032
"GET_OP_LIST_SIZE_LIMIT": 50,
3133
"GET_RESP_BYTES_LIMIT": 200000000,
3234
"GET_RESP_MAX_SIBLINGS": 50000,
@@ -36,8 +38,9 @@
3638
"MAX_FINALIZED_BLOCK_INFO_ON_MEM": 1000,
3739
"MAX_NUM_INBOUND_CONNECTION": 6,
3840
"MAX_NUM_SNAPSHOTS": 10,
41+
"OLD_CHAIN_SEGMENT_LENGTH": 20,
42+
"OLD_CHAIN_SEGMENT_SLEEP_MS": 10000,
3943
"ON_MEMORY_CHAIN_LENGTH": 10,
40-
"P2P_GENESIS_BLOCK_HASH_MISMATCH_SLEEP_MS": 10000,
4144
"P2P_HEARTBEAT_INTERVAL_MS": 15000,
4245
"P2P_MESSAGE_TIMEOUT_MS": 600000,
4346
"P2P_PORT": 5000,
@@ -51,8 +54,9 @@
5154
"PORT": 8080,
5255
"REST_FUNCTION_CALL_TIMEOUT_MS": 10000,
5356
"REQUEST_BODY_SIZE_LIMIT": "100mb",
57+
"SEND_SNAPSHOT_CHUNK_SLEEP_TIME_MS": 1000,
5458
"SNAPSHOTS_INTERVAL_BLOCK_NUMBER": 1000,
55-
"SYNC_MODE": "full",
59+
"SYNC_MODE": "fast",
5660
"TARGET_NUM_OUTBOUND_CONNECTION": 3,
5761
"TRACKER_UPDATE_JSON_RPC_URL": "http://localhost:9090/json-rpc",
5862
"TRACKER_UPDATE_INTERVAL_MS": 15000,
@@ -68,4 +72,4 @@
6872
"TX_POOL_TIMEOUT_MS": 3600000,
6973
"TX_TRACKER_TIMEOUT_MS": 86400000,
7074
"UNSAFE_PRIVATE_KEY": null
71-
}
75+
}

blockchain-configs/mainnet-prod/node_params.json

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"BLOCKCHAIN_DATA_DIR": "/home/ain_blockchain_data",
44
"BLOCKCHAIN_GUIDE_URL": "https://docs.ainetwork.ai",
55
"CHAIN_SEGMENT_LENGTH": 20,
6+
"CHAIN_SEGMENT_SLEEP_MS": 10000,
67
"CHAINS_H2N_HASH_PREFIX_LENGTH": 5,
78
"CHAINS_N2B_MAX_NUM_FILES": 100000,
89
"CONSOLE_LOG": false,
@@ -26,6 +27,7 @@
2627
"ENABLE_STATUS_REPORT_TO_TRACKER": true,
2728
"ENABLE_TX_SIG_VERIF_WORKAROUND": false,
2829
"EVENT_HANDLER_PORT": 6000,
30+
"EVENT_HANDLER_HEARTBEAT_INTERVAL_MS": 15000,
2931
"GET_OP_LIST_SIZE_LIMIT": 50,
3032
"GET_RESP_BYTES_LIMIT": 200000000,
3133
"GET_RESP_MAX_SIBLINGS": 50000,
@@ -35,8 +37,9 @@
3537
"MAX_FINALIZED_BLOCK_INFO_ON_MEM": 1000,
3638
"MAX_NUM_INBOUND_CONNECTION": 6,
3739
"MAX_NUM_SNAPSHOTS": 10,
40+
"OLD_CHAIN_SEGMENT_LENGTH": 20,
41+
"OLD_CHAIN_SEGMENT_SLEEP_MS": 10000,
3842
"ON_MEMORY_CHAIN_LENGTH": 10,
39-
"P2P_GENESIS_BLOCK_HASH_MISMATCH_SLEEP_MS": 10000,
4043
"P2P_HEARTBEAT_INTERVAL_MS": 15000,
4144
"P2P_MESSAGE_TIMEOUT_MS": 600000,
4245
"P2P_PORT": 5000,
@@ -50,8 +53,9 @@
5053
"PORT": 8080,
5154
"REST_FUNCTION_CALL_TIMEOUT_MS": 10000,
5255
"REQUEST_BODY_SIZE_LIMIT": "100mb",
56+
"SEND_SNAPSHOT_CHUNK_SLEEP_TIME_MS": 1000,
5357
"SNAPSHOTS_INTERVAL_BLOCK_NUMBER": 1000,
54-
"SYNC_MODE": "full",
58+
"SYNC_MODE": "fast",
5559
"TARGET_NUM_OUTBOUND_CONNECTION": 3,
5660
"TRACKER_UPDATE_JSON_RPC_URL": "http://34.81.167.141:8080/json-rpc",
5761
"TRACKER_UPDATE_INTERVAL_MS": 15000,
@@ -67,4 +71,4 @@
6771
"TX_POOL_TIMEOUT_MS": 3600000,
6872
"TX_TRACKER_TIMEOUT_MS": 86400000,
6973
"UNSAFE_PRIVATE_KEY": null
70-
}
74+
}

blockchain-configs/mainnet-prod/timer_flags.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,9 @@
2626
"update_bandwidth_budget_params": {
2727
"enabled_block": 130800,
2828
"has_bandage": true
29+
},
30+
"disable_tx_receipt_recording": {
31+
"enabled_block": 352000,
32+
"has_bandage": false
2933
}
3034
}

blockchain-configs/sim-shard/node_params.json

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"BLOCKCHAIN_DATA_DIR": "./ain_blockchain_data",
44
"BLOCKCHAIN_GUIDE_URL": "https://docs.ainetwork.ai",
55
"CHAIN_SEGMENT_LENGTH": 20,
6+
"CHAIN_SEGMENT_SLEEP_MS": 10000,
67
"CHAINS_H2N_HASH_PREFIX_LENGTH": 5,
78
"CHAINS_N2B_MAX_NUM_FILES": 100000,
89
"CONSOLE_LOG": false,
@@ -27,6 +28,7 @@
2728
"ENABLE_STATUS_REPORT_TO_TRACKER": true,
2829
"ENABLE_TX_SIG_VERIF_WORKAROUND": false,
2930
"EVENT_HANDLER_PORT": 6000,
31+
"EVENT_HANDLER_HEARTBEAT_INTERVAL_MS": 15000,
3032
"GET_OP_LIST_SIZE_LIMIT": 50,
3133
"GET_RESP_BYTES_LIMIT": 200000000,
3234
"GET_RESP_MAX_SIBLINGS": 50000,
@@ -36,8 +38,9 @@
3638
"MAX_FINALIZED_BLOCK_INFO_ON_MEM": 1000,
3739
"MAX_NUM_INBOUND_CONNECTION": 6,
3840
"MAX_NUM_SNAPSHOTS": 10,
41+
"OLD_CHAIN_SEGMENT_LENGTH": 20,
42+
"OLD_CHAIN_SEGMENT_SLEEP_MS": 10000,
3943
"ON_MEMORY_CHAIN_LENGTH": 10,
40-
"P2P_GENESIS_BLOCK_HASH_MISMATCH_SLEEP_MS": 10000,
4144
"P2P_HEARTBEAT_INTERVAL_MS": 15000,
4245
"P2P_MESSAGE_TIMEOUT_MS": 600000,
4346
"P2P_PORT": 5000,
@@ -51,8 +54,9 @@
5154
"PORT": 8080,
5255
"REST_FUNCTION_CALL_TIMEOUT_MS": 10000,
5356
"REQUEST_BODY_SIZE_LIMIT": "100mb",
57+
"SEND_SNAPSHOT_CHUNK_SLEEP_TIME_MS": 1000,
5458
"SNAPSHOTS_INTERVAL_BLOCK_NUMBER": 1000,
55-
"SYNC_MODE": "full",
59+
"SYNC_MODE": "fast",
5660
"TARGET_NUM_OUTBOUND_CONNECTION": 3,
5761
"TRACKER_UPDATE_JSON_RPC_URL": "http://localhost:9010/json-rpc",
5862
"TRACKER_UPDATE_INTERVAL_MS": 15000,
@@ -68,4 +72,4 @@
6872
"TX_POOL_TIMEOUT_MS": 3600000,
6973
"TX_TRACKER_TIMEOUT_MS": 86400000,
7074
"UNSAFE_PRIVATE_KEY": null
71-
}
75+
}

blockchain-configs/testnet-dev/blockchain_params.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,8 @@
7575
"genesis_timestamp": 1640995199999,
7676
"num_genesis_accounts": 10,
7777
"epoch_ms": 20000,
78-
"chain_id": 0,
79-
"network_id": 0
78+
"chain_id": 2,
79+
"network_id": 2
8080
},
8181
"resource": {
8282
"state_tree_height_limit": 30,

0 commit comments

Comments
 (0)