forked from Qortal/qortal
catbref
22aa5c41b5
WIP: EPC-fixes
BlockMessage was broken because the repository 'connection' associated with the message's Block object was closed between message queuing and message sending. The fix was to serialize Message subclasses on construction, thus freeing reliance on objects passed into constructor. The serialized byte[] is held by the message between queuing and sending. This forces messages into one of two 'modes': outgoing or incoming. Outgoing messages contain serialized byte[] whereas incoming messages unpack a ByteBuffer into Message subclass fields. As a result, all network message types have been refactored in this way. More details in Message's class comment. A knock-on effect is that incoming messages cannot then be sent out - a new message needs to be constructed. Some changes needed to Arbitrary controller package classes in this respect. Bonus: Network no longer needs broadcast threads because 'broadcasting' is now simply the act of queuing a message for many peers.
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: start.sh
Description
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.
Languages
Java
98%
JavaScript
0.6%
Shell
0.5%
HTML
0.5%
Perl
0.3%