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.
22f9755f4f
Added Ed25519 private key to public key function accessible from SQL. Added Ed25519 public key to Qortal address function accessible from SQL. Used above functions to store minting account public key in SQL to reduce the number of unnecessarily repeated Ed25519 conversions. Used above functions to store reward-share minting's accounts address to reduce the number of unneccessarily repeated PK-to-address conversions. Reduced the usage of PublicKeyAccount to simply Account where possible, to reduce the number of Ed25519 conversions. Account.canMint(), Account.canRewardShare() and Account.getEffectiveMintingLevel() now only perform 1 repository fetch instead of potentially 2 or more. Cleaned up NTP main thread to reduce CPU load. A fixed offset can be applied to NTP.getTime() responses, for both scenarios when NTP is running or not. Useful for testing or simulating distant remote peers. Controller.onNetworkMessage() and Network.onMessage() have both had their complexity simplified by extracting per-case code to separate methods. Network's EPC engine's thread pool size no longer hard-coded, but comes from Settings.maxNetworkThreadPoolSize, which is still 10 by default, but can be increased for high-availability nodes. Network's EPC task-producing code streamlined to reduce CPU load. Generally reduced calls to System.currentTimeMillis(), especially where the value would only be used in verbose logging situations, and especially in high-call-volume methods, like within repository. |
||
---|---|---|
lib/org | ||
src | ||
tools | ||
.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