forked from Qortal/qortal
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.
1ca5b864a9
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. |
||
---|---|---|
lib/org | ||
src | ||
tools | ||
WindowsInstaller | ||
.gitignore | ||
AutoUpdates.md | ||
DATABASE.md | ||
log4j2.properties | ||
pom.xml | ||
README.md | ||
run.sh | ||
stop.sh |
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