CalDescent
0328007345
Domain mapping now uses registered name instead of transaction signature.
...
There's no real need to maintain support for signature mapping anymore. Using this new method means that the latest version of a site is always served via the traditional domain name, whereas using transaction signatures caused older versions to be shown.
Example settings.json configuration:
"domainMapServiceEnabled": true,
"domainMapServicePort": 80,
"domainMap": [
{
"domain": "webdemo.qortal.uk",
"name": "QortalDemo"
},
{
"domain": "www.reqorder.org",
"name": "ReQorder"
}
]
2021-10-30 17:29:23 +01:00
CalDescent
3ad0e92a0f
Log empty responses in qdata
2021-10-29 18:58:59 +01:00
CalDescent
3934120541
Return the data directly in GET /arbitrary/{service}/{name}, instead of a path to the data
2021-10-29 18:52:05 +01:00
CalDescent
24ca126f5a
Various qdata improvements
2021-10-29 17:58:47 +01:00
CalDescent
651ca71126
Added transaction validity log.
2021-10-29 17:50:03 +01:00
CalDescent
e7cb33d8e2
Synchronize peer data lookups.
...
Without this we could broadcast the same data multiple times, due to more than one thread processing the same message from different peers.
2021-10-29 17:46:58 +01:00
CalDescent
c63d238316
Log the error response in the qdata utility if broadcasting a transaction fails.
2021-10-29 17:26:40 +01:00
CalDescent
dcdc48d917
Private key moved from command line argument to QORTAL_PRIVKEY env variable, to improve security.
2021-10-29 17:24:22 +01:00
CalDescent
f4c1671079
Removed the need to include public key in recently added API endpoints, as it can be derived from the registered name's owner.
2021-10-29 17:08:26 +01:00
CalDescent
7aa2fbee1c
Added "qdata" command line tool to host and retrieve data
2021-10-29 16:51:41 +01:00
CalDescent
f1939fdc2b
Added generic PUT, PATCH, and GET /arbitrary API endpoints
...
These will likely avoid the need for some of the /site APIs.
2021-10-29 16:45:08 +01:00
CalDescent
c9356d0ff5
Re-broadcast the arbitrary signatures message if it contains new data, so that the message finds its way to all online peers.
2021-10-29 16:16:58 +01:00
CalDescent
6b5d938a40
Added saveChanges() missing from previous commit, and a discardChanges() just in case.
2021-10-29 16:16:05 +01:00
CalDescent
d82da160f3
Added DHT-style lookup table to track file locations
...
This maps ARBITRARY transactions to peer addresses, but also includes additional metadata/stats to track the success rate and reachability.
Once a node receives files for a transaction, it broadcasts this info to its peers so they can update their records.
TLDR: this allows us to locate peers that are hosting a copy of the file we need.
2021-10-29 13:35:17 +01:00
CalDescent
54c8aac20d
Commented out unused forwarding code
2021-10-29 13:27:37 +01:00
CalDescent
05be5c1199
Version set to 2.0.0, given that this will ultimately be merged into the main qortal core. It makes sense to keep the version numbers in sync.
2021-10-25 19:06:48 +01:00
CalDescent
f19a65148a
Revert "Default minPeerVersion set to 0.1.0. TODO: revert this if ever merged into the main repo."
...
This reverts commit 9b4d832d17
.
2021-10-25 19:04:31 +01:00
CalDescent
a55fc4fff9
When validating an ARBITRARY transaction, ensure that the supplied name exists and is registered to the account that is signing the transaction.
...
This ensures that only the owner of a name is able to update data associated with that name.
Note that this doesn't take into account the ability for group members to update a resource, so this will need modifying when that feature is ultimately introduced (likely after v3.0)
2021-10-25 18:58:33 +01:00
CalDescent
35a7a70b93
Merge remote-tracking branch 'qortal/master'
2021-10-25 18:26:06 +01:00
CalDescent
3e0574e563
Added another missing block archive lookup relating to trade timestamps.
...
Note that this is unlikely to be the cause of some of the zero timestamps issue seen on a subset of nodes - there is still likely to be another problem that needs fixing.
2021-10-25 18:21:40 +01:00
CalDescent
69e557e70d
Delete .sha256 file which was left lying around after running the bootstrap unit tests.
2021-10-25 18:20:58 +01:00
CalDescent
1b846be5fc
Fixed bug in arbitrary transaction builder
2021-10-24 22:43:58 +01:00
CalDescent
707eb58068
Added testPatchBeforePut() unit test
2021-10-24 22:43:28 +01:00
CalDescent
8630f3be96
Added first end-to-end test of data storage
2021-10-24 19:08:09 +01:00
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
49dd63af1e
updated BTC electrum servers
2021-10-23 00:46:02 -04:00
CalDescent
18c6f0ccc3
Merge pull request #60 from Tocoolmh58/master
2021-10-22 18:05:38 +01:00
55c50a4b5b
add API option to return inverse price ( #61 )
2021-10-22 18:04:53 +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
1fbd5f7922
Fix for issue causing tradeTimestamp to report as 0 for trades in archived blocks.
2021-10-17 09:52:59 +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