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.
374f6b8d52
1) Each relay request expires after 5 seconds, after which nodes will stop relaying it, preventing any kind of infinite loop. So it has to reach the destination peer within 5 seconds. This should be fine, because the original peer's request would timeout anyway, so there's nothing to be gained by continuing to relay it. 2) Each relay request stops being forwarded after 3 "hops" - i.e. once it has been relayed through 3 different peers, it will no longer be transmitted any further. If we assume that each node has 16 connections, that allows it to reach a theoretical maximum of 4096 peers in 3 hops. In practice it will be less, and may not reach everyone due to peer "islands". But it will automatically retry a few times on a timer, so should hopefully find what it needs eventually. Plus, it still has the ability to make a direct connection to anyone hosting the data, as long as they are port forwarded. |
||
---|---|---|
.github/workflows | ||
lib/org | ||
src | ||
tools | ||
WindowsInstaller | ||
.gitignore | ||
AutoUpdates.md | ||
DATABASE.md | ||
log4j2.properties | ||
pom.xml | ||
README.md | ||
run.sh | ||
start.sh | ||
stop.sh | ||
TestNets.md |
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