CalDescent
85a27c14b8
Revert incorrect genesis timestamp that somehow made it into the stashed code.
2022-07-20 10:38:58 +01:00
CalDescent
46c40ca9ca
Committed stashed code that is functional but probably too messy for production use.
...
Online account nonces are appended to the onlineAccountsSignatures to avoid the need for a new field, but it probably makes more sense to separate them.
2022-07-20 10:27:09 +01:00
CalDescent
fbcc870d36
Added informational test to compare ConsiceSet size against an int array for online account nonce arrays.
2022-07-15 10:23:14 +01:00
CalDescent
020e59743b
Fixed failing test(s) due to merge.
2022-07-10 19:49:24 +01:00
CalDescent
0904de3f71
Merge branch 'master' into online-accounts-mempow-v2
...
# Conflicts:
# src/main/java/org/qortal/block/BlockChain.java
2022-07-10 16:50:28 +01:00
CalDescent
57bd3c3459
Merge remote-tracking branch 'catbref/auto-update-fix'
2022-07-07 18:48:39 +01:00
CalDescent
ad0d8fac91
Bump version to 3.4.1
2022-07-05 20:56:40 +01:00
CalDescent
a8b58d2007
Reward share limit activation timestamp set to 1657382400000 (Sat Jul 09 2022 16:00:00 UTC)
2022-07-05 20:34:23 +01:00
CalDescent
a099ecf55b
Merge branch 'reduce-reward-shares'
2022-07-04 19:58:48 +01:00
CalDescent
6b91b0477d
Added version query string param to /blocks/signature/{signature}/data API endpoint, to allow for optional V2 block serialization (with a single combined AT states hash).
...
Version can only be specified when querying unarchived blocks; archived blocks require V1 for now (and possibly V2 in the future).
2022-07-04 19:57:54 +01:00
CalDescent
fe2c63e8e4
Generate random nonces for test accounts.
...
These don't have to be valid for unit tests, because they are treated as "cached already valid accounts" in the block validation.
2022-07-02 17:30:31 +01:00
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
d7e7c1f48c
Fixed bugs from merge conflict, causing incorrect systray statuses in some cases.
2022-07-02 10:33:00 +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
CalDescent
08f3351a7a
Reward share transaction modifications:
...
- Reduce concurrent reward share limit from 6 to 3 (or from 5 to 2 when including self share) - as per community vote.
- Founders remain at 6 (5 when including self share) - also decided in community vote.
- When all slots are being filled, require that at least one is a self share, so that not all can be used for sponsorship.
- Activates at future undecided timestamp.
2022-07-01 12:18:48 +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