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
catbref 1ca5b864a9 Repository optimizations!
Added Qortal-side HSQLDB PreparedStatement cache, hashed
by SQL query string, to reduce re-preparing statements.
(HSQLDB actually does the work in avoiding re-preparing
by comparing its own query-to-statement cache map, but we
need to keep an 'open' statement on our side for this to
happen).

Support added for batched INSERT/UPDATE SQL statements to
update many rows in one call.

Several specific repository calls, e.g. modifyMintedBlockCount
or modifyAssetBalance, now have batch versions that allow
many rows to be updated in one call.

In Block, when distributing block rewards, although we still
build a map of balance changes to apply after all calculations,
this map is now handed off wholesale to the repository to
apply in one (or two) queries, instead of a repository call
per account. The balanceChanges map is now keyed by account
address, as opposed to actual Account.

Also in Block, we try to cache the fetched online reward-shares
(typically in Block.isValid et al) to avoid re-fetching them
later when calculating block rewards.

In addition, actually fetching online reward-shares is no longer
done index-by-index, but the whole array of indexes is passed
wholesale to the repository which then returns the corresponding
reward-shares as a list.

In Block.increaseAccountLevels, blocks minted counts are also
updated in one single repository call, rather than one
repository call per account.

When distributing Block rewards to legacy QORA holders,
all necessary info is fetched from the repository in one hit
instead of two-phases of: 1. fetching eligible QORA holders,
and 2. fetching extra data for that QORA holder as needed.

In addition, updated QORT_FROM_QORA asset balances are done
via one batch repository call, rather than per update.
2020-08-26 17:16:45 +01:00
lib/org Update to more efficient CIYAM AT v1.3.7 2020-08-12 14:17:09 +01:00
src Repository optimizations! 2020-08-26 17:16:45 +01:00
tools Added some more useful tools/scripts, mostly for Linux-based curious node owners 2020-07-17 12:22:48 +01:00
WindowsInstaller Updated AdvancedInstaller project file based on v1.3.4 release 2020-08-24 15:40:29 +01:00
.gitignore Updated .gitignore 2019-11-26 10:20:06 +00:00
AutoUpdates.md Added AutoUpdates.md notes about the auto-update feature 2020-02-10 13:39:23 +00:00
DATABASE.md Updated build instructions in README.md and moved database info to DATABASE.md 2020-01-22 10:54:21 +00:00
log4j2.properties Suppress extraneous bitcoinj logging output 2020-05-14 12:52:08 +01:00
pom.xml Bump to v1.3.4 2020-08-24 15:05:51 +01:00
README.md Added example shell script to run Qortal and updated README.md 2020-02-04 12:27:08 +00:00
run.sh Java Checks 2020-03-14 10:52:54 -04:00
stop.sh Add PID tracking to stop.sh (thanks IceBurst) 2020-03-30 17:39:36 +01:00

Qortal Project - Official Repo

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: run.sh