Commit Graph

  • e4874f86f9 Merge branch 'block-timings' of github.com:Qortal/qortal into block-timings block-timings CalDescent 2021-05-09 19:25:33 +01:00
  • e300a957e4 Added online accounts count to /blocks/byheight/{height}/mintinginfo API and block-timings.sh script. CalDescent 2021-05-09 19:25:05 +01:00
  • 1c38afcd25 Slight reordering of vars. CalDescent 2021-04-10 18:24:33 +01:00
  • a06faa7685 Updated usage info to reflect the fact that the "count" parameter is optional. CalDescent 2021-04-10 18:12:09 +01:00
  • 019ab2b21d Added tools/block-timings-sh which can be used to test out new block timings (specified in blockchain.json). CalDescent 2021-04-10 17:57:28 +01:00
  • f6ba5f5d51 Added /blocks/byheight/{height}/mintinginfo API, which returns info on the minter level, key distance, and block timings. CalDescent 2021-04-10 17:49:04 +01:00
  • c4cbb64643 Added "minPeerVersion" setting, and avoid syncing with peers on lower versions. CalDescent 2021-05-09 17:38:07 +01:00
  • 8260cec713 Added "maximumCount" parameter to HSQLDBATRepository.getMatchingFinalATStatesQuorum() and use it to limit the number of ATs being returned in the query. CalDescent 2021-05-09 15:56:15 +01:00
  • 428af3c0e8 Only use fast sync on trimmed blocks, as others are too large. CalDescent 2021-05-09 13:57:47 +01:00
  • 68544715bf Skip Block.logDebugInfo() altogether if the log level is more specific than DEBUG, to avoid wasting resources. CalDescent 2021-05-09 09:00:53 +01:00
  • d2ea5633fb Fixed divide by zero exception. CalDescent 2021-05-09 08:25:24 +01:00
  • f4520e2752 Skip Block.logDebugInfo() altogether if the log level is more specific than DEBUG, to avoid wasting resources. CalDescent 2021-05-09 09:00:53 +01:00
  • 475802afbc Fixed divide by zero exception. CalDescent 2021-05-09 08:25:24 +01:00
  • 3aa9b5f0b6 Increased timeout when syncing multiple blocks from 4s to 10s. CalDescent 2021-05-08 22:36:41 +01:00
  • 6c5dbf7bd0 Preliminary version for fast sync set to 1.6.0, because 1.5.x is already released. CalDescent 2021-05-08 16:36:42 +01:00
  • 3b3dc5032b Merge branch 'master' into sync-multiple-blocks CalDescent 2021-05-08 16:35:09 +01:00
  • a170668d9d Updated AdvancedInstaller project for v1.5.1 Tom 2021-05-07 09:58:15 +01:00
  • f8dac39076 Updated AdvancedInstaller project for v1.5.0 Tom 2021-05-07 09:40:38 +01:00
  • fe4ae61552 Added "maxRetries" setting. CalDescent 2021-05-06 17:49:45 +01:00
  • 0c3597f757 Bump version to 1.5.1 v1.5.1 synchronization-improvements CalDescent 2021-05-05 18:41:05 +01:00
  • 6109bdeafe Set go-live timestamp for same-length chain weight consensus: 1620579600000 CalDescent 2021-05-05 18:40:07 +01:00
  • 6e9a61c4e5 Fixed logging issue where it would underreport the number of common blocks found when loading some from the cache. chain-weight-consensus CalDescent 2021-05-02 20:51:53 +01:00
  • 8e244fd956 Fixed yet another bug with minChainLength. CalDescent 2021-05-02 20:45:20 +01:00
  • 2eb6771963 Adapted logging in comparePeers() to report correct values for both chain weight algorithms. CalDescent 2021-05-02 20:26:51 +01:00
  • db77108054 Log the number of blocks used in Block.calcChainWeight() CalDescent 2021-05-02 19:59:32 +01:00
  • 241e2bef85 Merge branch 'master' into chain-weight-consensus CalDescent 2021-05-02 18:18:20 +01:00
  • fac02dbc7d Fixed bug in maxHeight parameter passed to Block.calcChainWeight() CalDescent 2021-05-02 15:56:13 +01:00
  • 9ebcd55ff5 Fixed calculation error in existing chain weight code, which would have caused the last block to be missed out of the comparison after switching to same-length chain comparisons. CalDescent 2021-05-01 13:34:13 +01:00
  • 50244c1c40 Fixed bug which would cause other peers to not be compared against each other, if we had no blocks ourselves. CalDescent 2021-05-01 13:32:16 +01:00
  • b4395fdad1 Fixed bug which could cause minChainLength to report a higher value. CalDescent 2021-05-01 10:57:24 +01:00
  • 1da8994be7 Log the block timestamp, minter level, online accounts, key distance, and weight, when orphaning or processing. CalDescent 2021-05-01 10:24:50 +01:00
  • 55ff1e2bb1 updated and tested BTC electrum servers (#36) QuickMythril 2021-05-01 04:18:46 -04:00
  • 5fd8528c49 Small refactor for code readability, and added some defensiveness to avoid possible NPEs. CalDescent 2021-04-29 09:04:59 +01:00
  • 26d8ed783a Same as commit c0c5bf1, but for blocks as well as block summaries. CalDescent 2021-04-29 08:55:16 +01:00
  • c0c5bf1591 Apply blocks in syncToPeerChain() if the latest received block is newer than our latest, and we started from an out of date chain. CalDescent 2021-04-28 22:03:13 +01:00
  • c17a481b74 Bump version to 1.5.0 v1.5.0 CalDescent 2021-04-26 18:34:01 +01:00
  • a9a0e69ec0 Set go-live block height for share bin fix: block 399000 CalDescent 2021-04-26 17:19:39 +01:00
  • ea1fed2fd3 Merge branch 'block-reward-distribution-fix' CalDescent 2021-04-26 17:16:14 +01:00
  • b37f2c7d7f MAXIMUM_RETRIES set to 2, as 3 retries may have been slightly too many. prioritize-peers CalDescent 2021-04-26 17:08:21 +01:00
  • 0c0c5ff077 Invalidate our block summaries cache for a peer if it fails to respond with signatures when synchronizing. CalDescent 2021-04-25 12:50:40 +01:00
  • e12b99d17e Invalidate our common block cache for a peer if we can't find a common block when synchronizing. CalDescent 2021-04-25 09:37:32 +01:00
  • d599146c3a Cache peer block summaries to avoid duplicate requests when comparing peers. CalDescent 2021-04-24 22:10:40 +01:00
  • 476731a2c3 In syncToPeerChain(), only apply a partial set of peer's blocks if they are recent. CalDescent 2021-04-24 20:12:11 +01:00
  • 1e491dd8fb MAXIMUM_RETRIES increased from 1 to 3. CalDescent 2021-04-24 19:45:53 +01:00
  • ba6397b963 Improved logging, to give a clearer picture of the peer selection decisions. CalDescent 2021-04-24 19:23:09 +01:00
  • 3146da6aec Don't add to the inferior chain signatures list when comparing peers against each other. CalDescent 2021-04-24 16:43:29 +01:00
  • 5643e57ede Fixed string formatting error. CalDescent 2021-04-24 16:21:04 +01:00
  • f532dbe7b4 Optimized code in Synchronizer.uniqueCommonBlocks() CalDescent 2021-04-24 15:22:29 +01:00
  • ec2af62b4d Fix for bug which failed to remove peers without block summaries. CalDescent 2021-04-24 15:21:30 +01:00
  • 423142d730 Tidied up RECOVERY_MODE_TIMEOUT constant, and made checkRecoveryModeForPeers() private. CalDescent 2021-04-24 10:35:01 +01:00
  • bdddb526da Added recovery mode, which is designed to automatically bring back a stalled network. CalDescent 2021-04-23 09:21:15 +01:00
  • dbf1ed40b3 Log the parent block's signature when minting a new block, to help us keep track of the chain it's being minted on. CalDescent 2021-04-19 09:33:24 +01:00
  • 02ace06526 Revert "When syncing to a peer on a different fork, ensure that all blocks are obtained before applying them." CalDescent 2021-04-18 13:03:04 +01:00
  • 2d2bfc0a4c Log the number of common blocks found in each search. CalDescent 2021-04-18 13:02:38 +01:00
  • 3c22a12cbb Experimental idea to prevent a single node signing more than one block in a row. CalDescent 2021-04-15 08:58:43 +01:00
  • 3071ef2f36 Removed redundant uiLocalServers CalDescent 2021-04-17 20:55:30 +01:00
  • 3022cb22d6 Merge branch 'master' into prioritize-peers CalDescent 2021-04-17 20:51:35 +01:00
  • e9b4a3f6b3 Automatically backup trade bot data when starting a new trade (from either side). CalDescent 2021-04-17 20:45:35 +01:00
  • 4312ebfcc3 Adapted the HSQLDBRepository.exportNodeLocalData() method CalDescent 2021-04-17 20:44:57 +01:00
  • 2c0e099d1c Removed wildcard import that was automatically introduced by Intellij. CalDescent 2021-04-17 14:36:24 +01:00
  • b1eb02eb1d Merge pull request #33 from QuickMythril/version-on-tooltip CalDescent 2021-04-17 13:21:20 +01:00
  • c919797553 When syncing to a peer on a different fork, ensure that all blocks are obtained before applying them. CalDescent 2021-04-17 13:09:52 +01:00
  • 08dacab05c Make sure to give up if we are requesting block summaries when the core needs to shut down. CalDescent 2021-04-17 12:57:28 +01:00
  • 2efc9218df Improved the process of selecting the next peer to sync with CalDescent 2021-04-17 12:52:19 +01:00
  • 41505dae11 Treat two block summaries as equal if they have matching signatures CalDescent 2021-04-16 09:40:22 +01:00
  • 0d0af9a126 Experimental idea to prevent a single node signing more than one block in a row. blockminter-updates CalDescent 2021-04-15 08:58:43 +01:00
  • 45efe7cd56 Slight reordering of vars. CalDescent 2021-04-10 18:24:33 +01:00
  • 78cac7f0e6 Updated usage info to reflect the fact that the "count" parameter is optional. CalDescent 2021-04-10 18:12:09 +01:00
  • a1a1b8e94a Added tools/block-timings-sh which can be used to test out new block timings (specified in blockchain.json). CalDescent 2021-04-10 17:57:28 +01:00
  • 641a658059 Added /blocks/byheight/{height}/mintinginfo API, which returns info on the minter level, key distance, and block timings. CalDescent 2021-04-10 17:49:04 +01:00
  • 44ec447014 Show an error in publish-auto-update.pl if both sha256sum and sha256 aren't found in PATH. CalDescent 2021-04-01 08:27:56 +01:00
  • 98308ecf98 Bump version to 1.4.6 v1.4.6 CalDescent 2021-04-01 08:09:50 +01:00
  • 8d613a6472 MAXIMUM_RETRIES reduced from 3 to 1 CalDescent 2021-03-30 13:07:34 +01:00
  • c3e5298ecd Added a few checks for Controller.isStopping() in synchronizer loops, to try and speed up the shutdown time. CalDescent 2021-03-30 13:05:43 +01:00
  • e89d31eb5a Rewrite of Synchronizer.syncToPeerChain(), this time borrowing ideas from Synchronizer.applyNewBlocks(). CalDescent 2021-03-30 12:29:27 +01:00
  • 08f3d653cc Added new settings "maxBlocksPerRequest" and "maxBlocksPerResponse", to control the number of blocks requested and returned by nodes when using GetBlocksMessage and BlocksMessage. CalDescent 2021-03-28 17:27:04 +01:00
  • f2bbafe6c2 Added missing break statement if a peer fails to respond with blocks when resolving a fork via fast sync. CalDescent 2021-03-28 16:52:15 +01:00
  • cb80280eaf Bump Peer response timeout from 3s to 4s CalDescent 2021-03-28 14:47:57 +01:00
  • f22f954ae3 Use MAXIMUM_BLOCKS_REQUEST_SIZE for GetBlocksMessage and BlockMessage, instead of MAXIMUM_REQUEST_SIZE. CalDescent 2021-03-28 14:35:47 +01:00
  • 2556855bd7 Added missing return statement if a peer fails to respond with blocks when fast syncing. CalDescent 2021-03-28 14:19:53 +01:00
  • 365662a2af MAXIMUM_RETRIES reduced from 3 to 1. It will now only retry once, which should save around 6 seconds of wasted synchronization time if a node is unable to respond with the requested block (due to a re-org, etc). CalDescent 2021-03-27 19:25:27 +00:00
  • 3e0ff7f43f Split Synchronizer.applyNewBlocks() into two methods. CalDescent 2021-03-27 18:04:47 +00:00
  • 8c3753326f Check "isFastSyncEnabledWhenResolvingFork" setting before requesting multiple blocks from a peer. This allows users to opt out of this functionality, by setting it to false in their settings. CalDescent 2021-03-27 18:00:39 +00:00
  • dbcf6de2d5 Added new settings "fastSyncEnabled" (default: false) and "fastSyncEnabledWhenResolvingFork" (default: true). CalDescent 2021-03-27 17:59:23 +00:00
  • a5308995b7 Bump version to 1.5.0, to allow nodes to start using the new syncing method. CalDescent 2021-03-27 15:46:30 +00:00
  • 270ac88b51 Added GetBlocksMessage and BlocksMessage, which allow multiple blocks to be transferred between peers in a single request. CalDescent 2021-03-27 15:45:15 +00:00
  • 30160e2843 Fixes to allow publish-auto-update.sh to work with sha256sum versions that add trailing characters. CalDescent 2021-03-21 18:15:29 +00:00
  • 503d22e4d0 Updated Qortal.aip for WindowsInstaller for v1.4.5 catbref 2021-03-21 18:05:38 +00:00
  • b9a0d489d7 Bump version to 1.4.5 v1.4.5 CalDescent 2021-03-21 17:06:10 +00:00
  • d9d4c4c302 Bump Peer response timeout from 2s to 3s catbref 2021-03-21 16:17:40 +00:00
  • 81c6d75d62 Adjust Synchronizer.MAXIMUM_BLOCK_STEP to 128, which means final summaries request will have enough to cover MAXIMUM_COMMON_DELTA (8+16+32+64+128 = 248, which is >240) catbref 2021-03-21 16:12:41 +00:00
  • d1419bdfbd Minor comments, adjust max step size when searching for common block catbref 2021-03-21 15:57:00 +00:00
  • 8566d9b7e5 Merge branch 'master' into synchronization-improvements CalDescent 2021-03-21 15:04:43 +00:00
  • b319d6db6b Rework BlockMessage caching with new pseudo outgoing-only message that only caches raw bytes catbref 2021-03-21 14:14:15 +00:00
  • 35fd1d8455 Base58 encode signatures in recently added logs. CalDescent 2021-03-21 14:12:04 +00:00
  • be21771e49 Use SYNC_BATCH_SIZE instead of MAXIMUM_BLOCK_SIGNATURES_PER_REQUEST. CalDescent 2021-03-21 13:58:42 +00:00
  • 745528a9b1 Peer.sendMessage() should return false when it can't send because it can't build the message catbref 2021-03-21 13:19:59 +00:00
  • f1422af95b Added retry mechanisms in Synchronizer.syncToPeerChain() CalDescent 2021-03-21 09:41:36 +00:00
  • f92f4dc1e2 Fixed some log entries in Controller.syncToPeerChain() which were incorrectly reporting our height instead of the height of block(s) being requested from the peer. Now reporting the height of the block (or block sigs) being retrieved, which should make it easier to interpret the logs. CalDescent 2021-03-20 16:18:25 +00:00
  • 019cfdc1db Minor comment re-org catbref 2021-03-20 11:45:11 +00:00