CalDescent
c90aeba286
Return ArbitraryTransactionData instead of a byte array, as it is more useful if the bytes are transformed separately.
2021-10-24 19:06:30 +01:00
CalDescent
5055cfc6cb
Removed unused imports
2021-10-24 17:43:28 +01:00
CalDescent
c222c4eb29
Updated expected hash of demo data as it has been updated.
2021-10-24 17:41:51 +01:00
CalDescent
6c01955561
Refactor to move arbitrary transaction building to its own class.
2021-10-24 17:41:28 +01:00
CalDescent
305e0f1772
Disable validation of previous hash unless validateAllDataLayers is true
...
We may not need to validate this at all now that we have the ability to validate the current layer, but I'll leave it as it could be useful for debugging. It is disabled by default so not an issue.
2021-10-24 15:35:51 +01:00
CalDescent
52a94e3256
Added "validateAllDataLayers" setting (default false)
...
When true, the hashes of every layer are validated when building a data resource. When false, only the final layer's hash is validated.
2021-10-24 14:37:29 +01:00
CalDescent
a418fb18b6
Hash the current state when creating a patch
...
This is included in the patch metadata and then validated every time it is rebuilt.
2021-10-24 13:00:21 +01:00
CalDescent
9cd579d3db
Another typo
2021-10-24 12:20:49 +01:00
CalDescent
e1a6ba7377
Fixed incorrect comment.
2021-10-24 12:03:22 +01:00
CalDescent
04aabe0921
Include the original file instead of a patch if the patch is larger than the original file.
...
This saves processing and disk space, as there is no point in applying a patch when the original file is smaller and can be included in its entirety.
2021-10-24 12:02:09 +01:00
CalDescent
8dd4d71d75
Significant rework of patches
...
- The "diff type" is now specified per file, allowing for different diff methods in each modified file.
- Patches will only be created when both the before and after files are less than 100kiB in size.
- Patches are validated after creation, and if invalid it will fall back to including the entire file.
This has identified a bug where patching fails for files without trailing newline characters, which still needs to be fixed. Until then, it will fall back to including the entire file in these cases.
2021-10-24 10:47:47 +01:00
CalDescent
12b3267d5c
Added arbitrary data merge tests.
2021-10-22 11:49:15 +01:00
CalDescent
d6d564c027
Fixed refresh interval of loading screen
2021-10-17 16:55:32 +01:00
CalDescent
f0e13fa492
Arbitrary transaction names are now case insensitive
2021-10-15 13:58:27 +01:00
CalDescent
c8d5ac9248
Fixed bug in ArbitraryTransactionTransformer.getDataLength() when missing a name.
2021-10-15 11:32:08 +01:00
CalDescent
aa4f77d4de
Fixed merge issues relating to database updates. Existing data nodes will need to delete their db folder and resync.
2021-10-15 09:13:15 +01:00
CalDescent
f3ef112297
Merge remote-tracking branch 'qortal/master'
...
# Conflicts:
# .gitignore
# pom.xml
# src/main/java/org/qortal/controller/Controller.java
# src/main/java/org/qortal/gui/SysTray.java
# src/main/java/org/qortal/settings/Settings.java
# src/main/resources/i18n/ApiError_en.properties
# src/test/java/org/qortal/test/CryptoTests.java
# src/test/resources/test-settings-v2.json
2021-10-15 09:03:28 +01:00
CalDescent
bbb71083ef
Updated AdvancedInstaller project for v2.0.0
2021-10-13 19:11:42 +01:00
CalDescent
e2134d76ec
Bump version to 2.0.0
2021-10-13 18:16:50 +01:00
CalDescent
651372cd64
Bump version to 2.0.0-beta.7
2021-10-12 18:56:58 +01:00
CalDescent
581fe17b58
Added message to check the internet connection if the download cannot start.
2021-10-12 08:08:48 +01:00
CalDescent
af8608f302
Show full stack trace when bootstrapping fails for any reason.
2021-10-12 08:08:05 +01:00
CalDescent
290a19b6c6
Log the URL when downloading a bootstrap, to help with problem solving.
2021-10-12 08:01:47 +01:00
CalDescent
73eaa93be8
Added missing space in log entry.
2021-10-11 23:00:59 +01:00
CalDescent
7ab17383a6
Fix for NPE when serialized block bytes are unavailable.
2021-10-10 13:38:10 +01:00
CalDescent
b103c5b13f
Bump version to 2.0.0-beta.6
2021-10-09 17:46:20 +01:00
CalDescent
b7d8a83017
Log "Downloading bootstrap..." as well as showing it in the splash screen.
2021-10-09 17:46:08 +01:00
CalDescent
e7bf4f455d
Added missing repository.saveChanges() when reimporting data after creating a bootstrap.
2021-10-09 16:57:53 +01:00
CalDescent
a7f212c4f2
Create a .sha256 file to accompany each bootstrap
...
This can ultimately be validated after download, and can also be used to help coordinate updates on the various bootstrap hosts.
2021-10-09 16:57:19 +01:00
CalDescent
eb991c6026
Fixed issue causing bootstrap validation to be ignored before creation.
2021-10-09 16:29:40 +01:00
CalDescent
a78af8f248
Added SHA-256 file digest utility methods.
...
These read the file in small chunks, to reduce memory.
2021-10-09 16:22:21 +01:00
CalDescent
f34bdf0f58
Fixed issue causing minting accounts to be lost in some cases when auto bootstrapping.
2021-10-09 14:31:13 +01:00
CalDescent
ba272253a5
Bump version to 2.0.0-beta.5
2021-10-09 13:03:58 +01:00
CalDescent
9f488b7b77
Sleep for 5s before cleaning up temp path, in case this improves reliability on Windows.
2021-10-09 13:03:32 +01:00
CalDescent
3fb7df18a0
Delete temp directories at the beginning of the bootstrap process too, as Windows doesn't like deleting it at the end of the process.
2021-10-09 13:02:47 +01:00
CalDescent
00401080e0
Simplified cleanup process. Individual deletions aren't needed as they are all inside the main temp directory.
2021-10-09 13:02:00 +01:00
CalDescent
b265dc3bfb
Don't log the complete stack trace for exceptions generated by bootstrap.checkRepositoryState(). The error message is enough in these cases.
2021-10-09 11:47:49 +01:00
CalDescent
63cabbe960
Log the full exception details and stack trace when creating bootstraps.
2021-10-09 11:39:08 +01:00
CalDescent
f6c1a7e6db
Disregard exceptions in the bootstrap creation cleanup process because these don't affect the created bootstrap - instead just log the exception and full stack trace.
2021-10-09 11:38:13 +01:00
CalDescent
a3dcacade9
Now showing errors directly in the POST /bootstrap/create API response.
...
This avoids needing to check the log file each time.
2021-10-09 11:02:21 +01:00
CalDescent
17e65e422c
Bump version to 2.0.0-beta.4
2021-10-08 19:11:25 +01:00
CalDescent
f53e2ffa47
Add initial peers on node startup if we don't have any in the repository.
...
This will be needed for future bootstraps, which don't contain any peers. It is also useful for those who have used the DELETE /peers/known API.
2021-10-08 19:10:02 +01:00
CalDescent
a1e4047695
Rework of bootstrap finalization process.
2021-10-08 18:06:41 +01:00
CalDescent
47ce884bbe
Delete all known peers when creating a bootstrap
2021-10-08 15:24:10 +01:00
CalDescent
1b17c2613d
Show "full node" or "top-only" in the "Downloading bootstrap" message.
2021-10-08 13:12:47 +01:00
CalDescent
dedc8d89c7
Handle case when attempting to load a block from the archive by reference, but the referenced block is in the main block repository, not the archive. This is the case with the genesis block.
...
Should fix issue where no block summaries were returned when syncing from block 1
2021-10-08 12:51:02 +01:00
CalDescent
d00fce86d2
Treat the genesis block as unpruned, as we leave this in the HSQLDB repository.
2021-10-08 12:42:23 +01:00
CalDescent
abab2d1cde
Fixed issue preventing blocks from being served from the archive.
...
Now prefixing the byte buffer with the block height to mimic a cached block message.
2021-10-08 12:22:21 +01:00
CalDescent
33b715eb4e
Merge branch 'networking' into v2.0-beta
...
# Conflicts:
# src/main/java/org/qortal/settings/Settings.java
2021-10-07 18:53:49 +01:00
CalDescent
f6effbb6bb
Removed unnecessary repository parameter from PruneManager.isBlockPruned()
2021-10-07 18:51:52 +01:00