mirror of
https://github.com/Qortal/qortal.git
synced 2025-02-14 11:15:49 +00:00
This is a serious change as it affects many callers. Controller.onNetworkTransactionMessager() -- should be OK to block as it's only one EPC thread TransactionsResource.processTransaction() -- should be OK to block as it's only one Jetty thread AND has its own 30s timeout wrapper anyway Implementations of AcctTradeBot.progress() e.g. BitcoinACCTv1TradeBot.progress() & LitecoinACCTv1TradeBot.progress() TradeBot.updatePresence() -- these are called via BlockMinter/Synchronizer when blockchain lock is already held, so will are unaffected AcctTradeBot.createTrade() and AcctTradeBot.startResponse() -- these are called via API and previously would only perform non-blocking blockchainLock.try() but now perform blocking blockchainLock.lock() thus preventing NO_BLOCKCHAIN_LOCK when creating/responding to trades especially after a (wasted) MESSAGE PoW compute but with potential downside that API response might be delayed e.g. by a very slow sync round Future work could look into removing the need for blockchain lock when calling Transaction.importAsUnconfirmed().
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
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.
https://qortal.dev
Languages
Java
98%
JavaScript
0.6%
Shell
0.5%
HTML
0.5%
Perl
0.3%