3
0
mirror of https://github.com/Qortal/qortal.git synced 2025-02-14 11:15:49 +00:00
catbref 918a331609 Transaction.importAsUnconfirmed() now BLOCKS for blockchain lock, instead of non-blocking try()
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().
2020-12-30 12:43:41 +00:00
2019-11-26 10:20:06 +00:00

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
Readme 442 MiB
Languages
Java 98%
JavaScript 0.6%
Shell 0.5%
HTML 0.5%
Perl 0.3%