CalDescent
a3febdf00e
Pass timestamp to OnlineAccountsManager.isMemoryPoWActive() so that block timestamp can be used.
2022-07-02 17:26:53 +01:00
CalDescent
4ca174fa0b
Fixed bug in isMemoryPoWActive() which affected the ability to enable mempow via settings.
2022-07-02 13:45:39 +01:00
CalDescent
294582f136
Added mempow support in OnlineAccountsManager.
...
- This adds mempow requirements to online account importing (after activation timestamp), however doesn't yet add any requirements to block validation.
- It also causes the 'next' online accounts timestamp to be computed in addition to the 'current', so that the computed nonce value is ready when the next online accounts timestamp window begins.
2022-07-02 12:33:02 +01:00
CalDescent
215800fb67
Added optional "timeout" parameter to MemoryPoW.compute2().
...
This can be used to give up after the specified number of milliseconds.
2022-07-01 22:36:51 +01:00
CalDescent
b05d428b2e
Added onlineAccountsMemPoWEnabled setting (for beta testing)
2022-07-01 22:31:51 +01:00
CalDescent
d2adadb600
Added onlineAccountsMemoryPoWTimestamp to blockchain.json
2022-07-01 22:31:30 +01:00
CalDescent
8e8c0b3fc5
Added OnlineAccountsV3Message, along with optional nonce Integer in OnlineAccountData.
...
This could potentially be released ahead of the other mempow code, splitting the rollout into multiple smaller phases.
2022-07-01 22:29:05 +01:00
CalDescent
65d63487f3
Merge branch 'master' into increase-online-timestamp-modulus
2022-07-01 17:46:35 +01:00
CalDescent
7c5932a512
GET /admin/status now returns online account submission status for "isMintingPossible", instead of BlockMinter status.
...
Online account credit is a more useful definition of "minting" than block signing, from the user's perspective. Should bring UI minting/syncing status in line with the core's systray status.
2022-07-01 17:29:15 +01:00
CalDescent
610a3fcf83
Improved order in getNodeType()
2022-07-01 16:48:57 +01:00
CalDescent
b329dc41bc
Updated incorrect ONLINE_ACCOUNTS_V3_PEER_VERSION to 3.4.0
2022-07-01 13:36:56 +01:00
CalDescent
ff78606153
Merge branch 'master' into increase-online-timestamp-modulus
2022-07-01 13:14:15 +01:00
CalDescent
ef249066cd
Updated another reference of SimpleTransaction::getTimestamp
2022-07-01 13:13:55 +01:00
CalDescent
80188629df
Don't aggregate signatures when running OnlineAccountsTests, as it's too difficult to check how many unique signatures exist over a given period of time.
2022-07-01 13:13:22 +01:00
CalDescent
f77093731c
Merge branch 'master' into increase-online-timestamp-modulus
...
# Conflicts:
# src/main/java/org/qortal/block/Block.java
# src/main/java/org/qortal/controller/OnlineAccountsManager.java
2022-07-01 13:03:19 +01:00
CalDescent
ca7d58c272
SimpleTransaction.timestamp is now in milliseconds instead of seconds.
...
Should fix 1970 timestamp issue in UI for foreign transactions, and also maintains consistency with QORT wallet transactions.
2022-07-01 12:46:20 +01:00
f499ada94c
Merge pull request #91 from qortish/master
...
Update SysTray_sv.properties
2022-06-29 08:44:47 -04:00
qortish
f073040c06
Update SysTray_sv.properties
...
proper
2022-06-29 14:04:27 +02:00
CalDescent
49bfb43bd2
Updated AdvancedInstaller project for v3.4.0
2022-06-28 22:56:11 +01:00
CalDescent
425c70719c
Bump version to 3.4.0
2022-06-28 19:29:09 +01:00
CalDescent
1420aea600
aggregateSignatureTimestamp set to 1656864000000 (Sun Jul 03 2022 16:00:00 UTC)
2022-06-28 19:26:00 +01:00
CalDescent
4543062700
Updated blockchain.json files in unit tests to include an already active "aggregateSignatureTimestamp"
2022-06-28 19:22:54 +01:00
CalDescent
722468a859
Restrict relays to v3.4.0 peers and above, in attempt to avoid bugs causing older peers to break relay chains.
2022-06-27 19:38:30 +01:00
CalDescent
492a9ed3cf
Fixed more message rebroadcasts that were missing IDs.
2022-06-26 20:02:08 +01:00
CalDescent
420b577606
No longer adding inferior chain signatures in comparePeers() as it doesn't seem 100% reliable in some cases. It's better to re-check weights on each pass.
2022-06-26 18:24:33 +01:00
CalDescent
434038fd12
Reduced online accounts log spam
2022-06-26 16:34:04 +01:00
CalDescent
a9b154b783
Modified BlockMinter.higherWeightChainExists() so that it checks for invalid blocks before treating a chain as higher weight. Otherwise minting is slowed down when a higher weight but invalid chain exists on the network (e.g. after a hard fork).
2022-06-26 15:54:41 +01:00
CalDescent
a01652b816
Removed hasInvalidBlock filtering, as this was unnecessary risk now that the original bug in comparePeers() is fixed.
2022-06-26 10:09:24 +01:00
CalDescent
4440e82bb9
Fixed long term bug in comparePeers() causing peers with invalid blocks to prevent alternate valid but lower weight candidates from being chosen.
2022-06-25 16:34:42 +01:00
CalDescent
a2e1efab90
Synchronize hasInvalidBlock predicate, as it wasn't thread safe
2022-06-25 14:12:21 +01:00
CalDescent
7e1ce38f0a
Fixed major bug in hasInvalidBlock predicate
2022-06-25 14:11:25 +01:00
CalDescent
a93bae616e
Invalid signatures are now stored as ByteArray instead of String, to avoid regular Base58 encoding and decoding, which is very inefficient.
2022-06-25 13:29:53 +01:00
CalDescent
a2568936a0
Synchronizer: filter out peers reporting to hold invalid block signatures.
...
We already mark peers as misbehaved if they returned invalid signatures, but this wasn't sufficient when multiple copies of the same invalid block exist on the network (e.g. after a hard fork). In these cases, we need to be more proactive to avoid syncing with these peers, to increase the chances of preserving other candidate blocks.
2022-06-25 12:45:19 +01:00
CalDescent
23408827b3
Merge remote-tracking branch 'catbref/schnorr-agg-BlockMinter-fix' into schnorr-agg-BlockMinter-fix
...
# Conflicts:
# src/main/java/org/qortal/block/BlockChain.java
# src/main/java/org/qortal/controller/OnlineAccountsManager.java
# src/main/java/org/qortal/network/message/BlockV2Message.java
# src/main/resources/blockchain.json
# src/test/resources/test-chain-v2.json
2022-06-24 11:47:58 +01:00
CalDescent
ae6e2fab6f
Rewrite of isNotOldPeer predicate, to fix logic issue (second attempt - first had too many issues)
...
Previously, a peer would be continuously considered not 'old' if it had a connection attempt in the past day. This prevented some peers from being removed, causing nodes to hold a large repository of peers. On slower systems, this large number of known peers resulted in low numbers of outbound connections being made, presumably because of the time taken to iterate through dataset, using up a lot of allKnownPeers lock time.
On devices that experienced the problem, it could be solved by deleting all known peers. This adds confidence that the old peers were the problem.
2022-06-24 10:36:06 +01:00
CalDescent
3af36644c0
Revert "Rewrite of isNotOldPeer predicate, to fix logic issue."
...
This reverts commit d81071f254
.
2022-06-24 10:26:39 +01:00
CalDescent
db8f627f1a
Default minPeerVersion set to 3.3.7
2022-06-24 10:13:55 +01:00
CalDescent
5db0fa080b
Prune peers every 5 minutes instead of every cycle of the Controller thread.
...
This should reduce the amount of time the allKnownPeers lock is held.
2022-06-24 10:13:36 +01:00
CalDescent
d81071f254
Rewrite of isNotOldPeer predicate, to fix logic issue.
...
Previously, a peer would be continuously considered not 'old' if it had a connection attempt in the past day. This prevented some peers from being removed, causing nodes to hold a large repository of peers. On slower systems, this large number of known peers resulted in low numbers of outbound connections being made, presumably because of the time taken to iterate through dataset, using up a lot of allKnownPeers lock time.
On devices that experienced the problem, it could be solved by deleting all known peers. This adds confidence that the old peers were the problem.
2022-06-24 10:11:46 +01:00
ba148dfd88
Added Korean translations
...
credit: TL (Discord username)
2022-06-23 02:35:42 -04:00
CalDescent
dbcb457a04
Merge branch 'master' of github.com:Qortal/qortal
2022-06-20 22:51:33 +01:00
CalDescent
b00e1c8f47
Allow online account submission in all cases when in recovery mode.
2022-06-20 22:50:41 +01:00
CalDescent
899a6eb104
Rework of systray statuses
...
- Show "Minting" as long as online accounts are submitted to the network (previously it related to block signing).
- Fixed bug causing it to regularly show "Synchronizing 100%".
- Only show "Synchronizing" if the chain falls more than 2 hours behind - anything less is unnecessary noise.
2022-06-20 22:48:32 +01:00
CalDescent
6e556c82a3
Updated AdvancedInstaller project for v3.3.7
2022-06-20 22:25:40 +01:00
CalDescent
35ce64cc3a
Bump version to 3.3.7
2022-06-20 21:52:41 +01:00
CalDescent
09b218d16c
Merge branch 'master' of github.com:Qortal/qortal
2022-06-20 21:51:39 +01:00
CalDescent
7ea451e027
Allow trades to be initiated, and QDN data to be published, as long as the latest block is within 60 minutes of the current time. Again this should remove negative effects of larger re-orgs from the UX.
2022-06-20 21:26:48 +01:00
CalDescent
ffb27c3946
Further relaxed min latest block timestamp age to be considered "up to date" in a few places, from 30 to 60 mins. This should help reduce the visible effects of larger re-orgs if they happen again.
2022-06-20 21:25:14 +01:00
6e7d2b50a0
Added Romanian translations
...
credit: Ovidiu (Telegram username)
2022-06-20 01:27:28 -04:00
bd025f30ff
Updated ApiError German translations
...
credit: CD (Discord username)
2022-06-20 00:56:19 -04:00