Qortal Core - Main Code Repository Decentralized Data Network - Blockchain - TRUE Cross-Chain Trading - Application and Website Hosting - Much More - Qortal is the future internet infrastructure for the global digital world.
Go to file
CalDescent c069c39ce1 Implemented automatic PUT/PATCH detection
When using POST /arbitrary/{service}/{name}... it will now automatically decide which method to use (PUT/PATCH) based on a few factors:

- If there are already 10 or more layers, use PUT to reset back to a single layer
- If the next layer's patch is more than 20% of the total resource file size, use PUT
- If the next layer modifies more than 50% of the total file count, use PUT
- Otherwise, use PATCH

The PUT method causes a new base layer to be created and all previous update history for that resource becomes obsolete. The PATCH method adds a small delta layer on top of the existing layer(s).

The idea is to wipe the slate clean with a new base layer once the patches start to get demanding for the network to apply. Nodes which view the content will ultimately have build timeouts to prevent someone from deploying a resource with hundreds of complex layers for example, so this approach is there to maximize the chances of the resource being buildable.

The constants above (10 layers, 20% total size, 50% file count) will most likely need tweaking once we have some real world data.
2021-11-13 09:56:13 +00:00
.github/workflows Automated testing (#38) 2021-05-26 11:27:46 +01:00
lib/org Upgrade to CIYAM-AT v1.3.8 with slight performance improvements 2020-10-07 10:31:18 +01:00
src Implemented automatic PUT/PATCH detection 2021-11-13 09:56:13 +00:00
tools Implemented automatic PUT/PATCH detection 2021-11-13 09:56:13 +00:00
WindowsInstaller Updated AdvancedInstaller project for v2.0.0 2021-10-13 19:11:42 +01:00
.gitignore Significant rework of patches 2021-10-24 10:47:47 +01:00
AutoUpdates.md More detail in AutoUpdates.md 2021-02-21 17:12:02 +00:00
DATABASE.md Documentation updates 2021-02-06 10:59:31 +00:00
log4j2.properties Suppress extraneous bitcoinj logging output 2020-05-14 12:52:08 +01:00
pom.xml 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
README.md Added warning to README 2021-07-10 13:53:07 +01:00
run.sh Improved start-up shell script "start.sh" 2020-09-01 10:25:48 +01:00
start.sh Improved start-up shell script "start.sh" 2020-09-01 10:25:48 +01:00
stop.sh Added optional "--testnet" or "-t" argument to stop.sh. When passing this argument, it will attempt to stop the core using the default testnet port (62391) rather than the default mainnet port (12391). 2021-02-21 11:50:02 +00:00
TestNets.md Documentation updates 2021-02-06 10:59:31 +00:00

Qortal Data Node

Important

This code is unfinished, and we haven't had the official genesis block for the data chain yet. Therefore it is only possible to use this code if you first create your own test chain. I would highly recommend waiting until the code is in a more complete state before trying to run this.

Build / run

  • Requires Java 11. OpenJDK 11 recommended over Java SE.
  • Install Maven
  • Use Maven to fetch dependencies and build: mvn clean package
  • Built JAR should be something like target/qortal-1.0.jar
  • Create basic settings.json file: echo '{}' > settings.json
  • Run JAR in same working directory as settings.json: java -jar target/qortal-1.0.jar
  • Wrap in shell script, add JVM flags, redirection, backgrounding, etc. as necessary.
  • Or use supplied example shell script: start.sh