Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3759 commits
Select commit Hold shift + click to select a range
a4b0ca1
Revert "pirate updates"
Philreact Jan 8, 2026
e533e8d
Revert "pirate chain updates"
Philreact Jan 8, 2026
0b75c57
Revert "Merge pull request #283 from crowetic/master"
Philreact Jan 8, 2026
b67a316
Merge pull request #29 from Philreact/master-revert
kennycud Jan 9, 2026
5a2a085
* update to logging text
Jan 9, 2026
b4ef08a
AT ordering tie breaker
kennycud Jan 10, 2026
ad1a837
removed logging spam
kennycud Jan 10, 2026
e0da297
reversed tie breaker ordering
kennycud Jan 10, 2026
5f8da88
added in crowetic's servers, contact him for questions
kennycud Jan 10, 2026
bb03fc1
* add delay for connectPeer if at max peers
Jan 10, 2026
d907bfd
Merge pull request #297 from kennycud/master
crowetic Jan 10, 2026
69d8cb3
Bump version to 5.0.7
Qortal-Auto-Update Jan 10, 2026
7ce9a96
protect shutdown agaist not running wallet
Philreact Jan 11, 2026
aabcaa3
ntp changes
Philreact Jan 12, 2026
4d01bf2
ourExternalIpAddress setting
Philreact Jan 12, 2026
702bfc7
fix peer relay data message
Philreact Jan 12, 2026
9646860
added ourExternalIpAddress as default
Philreact Jan 12, 2026
0016ad6
change logs
Philreact Jan 12, 2026
a33bdf8
Added connection spinup upon need only for Electrum-based connections.
crowetic Jan 13, 2026
d63d02a
removed unnecessary formatting changes
crowetic Jan 13, 2026
f31f378
removed unnecessary formatting changes
crowetic Jan 13, 2026
216134b
working direct connect
Philreact Jan 13, 2026
14bacf2
On‑demand connection management with idle disconnects and in‑flight R…
crowetic Jan 14, 2026
6b4cb8f
Added Null Pointer Exception prevention and retry logic for failed co…
crowetic Jan 14, 2026
53ce930
Fixed reading synchronized list without locking it by removing stream…
crowetic Jan 14, 2026
532ef22
added fix for 'cannot invoke intvalue' in follower thread by checking…
crowetic Jan 14, 2026
ec04418
Add new settings to JSON configuration for windows installer.
crowetic Jan 14, 2026
5641ea3
Merge pull request #31 from crowetic/electrumX-update-jan-2026
kennycud Jan 17, 2026
77d212f
Merge branch 'master' into fix/shutdown-improvements
nbenaglia Jan 17, 2026
6607d6d
Merge pull request #24 from nbenaglia/fix/shutdown-improvements
kennycud Jan 17, 2026
021d8dc
updated status and fix connectPeers
Philreact Jan 17, 2026
b9396ed
skip foreign fees with unavailable AT data when processing foreign fees
kennycud Jan 17, 2026
6cf7d2d
Catches the InterruptedException in method fetchAllMetadata
Jan 18, 2026
53958e5
Improve performances of rebuildAllNames
Jan 18, 2026
08378f9
Improve progress logging
Jan 18, 2026
2290201
Add clearer logging
Jan 18, 2026
0549ca3
Merge pull request #32 from nbenaglia/feature/shutdown-improvements-bis
kennycud Jan 18, 2026
23b7083
Merge pull request #33 from nbenaglia/feature/rebuild_name_refactoring
kennycud Jan 18, 2026
d7f6f77
removing group chat messages from non-members
kennycud Jan 18, 2026
5b15867
general chat transactions are rejected when sent and are discarded wh…
kennycud Jan 22, 2026
7abca4f
Merge pull request #305 from kennycud/master
crowetic Jan 27, 2026
2ea08f6
Bump version to 5.0.8
Qortal-Auto-Update Jan 27, 2026
b6c12a8
when an arbitrary transaction is imported in, the cache for that arbi…
kennycud Jan 29, 2026
2265b9f
updates to fetching data, sockets, handshake code and networks.
Philreact Jan 29, 2026
7d2ad80
change log
Philreact Jan 29, 2026
9d70390
Merge remote-tracking branch 'kenny/master' into 5.2-DataFlows
Philreact Jan 29, 2026
1e32d2b
fixed idle time for requests
Philreact Jan 30, 2026
316f1e2
added relay-cache when fetching for chunks. reduced sync timeout to n…
Philreact Jan 31, 2026
807e698
fix endpoints
Philreact Jan 31, 2026
65ee52a
Exclude .qortal metadata from size validation and PATCH/PUT decisions
Philreact Feb 1, 2026
2363809
fix hashlist forward bug
Philreact Feb 2, 2026
dad5009
fix null pointer exception
Philreact Feb 2, 2026
49e3b9f
revert to main-net magic
Philreact Feb 2, 2026
952a495
bug fix, sanitize names when deleting cache resource
Philreact Feb 3, 2026
6487247
put log back to debug
Philreact Feb 3, 2026
e5bad61
Merge pull request #34 from IceBurst/5.2-DataFlows
kennycud Feb 3, 2026
ac8dbe0
Attempt Close of uPnP on Shutdown
Feb 4, 2026
8c26943
Corrected update for publicIP and default setting pull
Feb 4, 2026
5d7c42c
bug fixed to socket reader and remove time lapse disconnect datanetwork
Philreact Feb 4, 2026
1e4ba76
fix accept task logic
Philreact Feb 4, 2026
2ba9ba7
Remove debug line
Feb 4, 2026
cc1a0df
Update all reference to 6.0 for release
Feb 4, 2026
143d283
Merge pull request #38 from IceBurst/5.2-DataFlows
kennycud Feb 4, 2026
20f7888
added nodeId to arbitrarydatafilelist message
Philreact Feb 5, 2026
e5a4515
Merge remote-tracking branch 'origin/5.2-DataFlows' into 5.2-DataFlows
Philreact Feb 6, 2026
70456f5
alignment of nodeId per network
Philreact Feb 6, 2026
357a6c1
fixed shared secret on response
Philreact Feb 6, 2026
e5b840f
resolve responseInfo for chunk requests
Philreact Feb 6, 2026
c406262
Fix duplicate peer check in ArbDataFileThread
Feb 6, 2026
8c37127
2 New Endpoints for Digibyte (/start & /status)
Feb 6, 2026
a024be8
End Points for Foreign Coins /start /status (revised)
Feb 7, 2026
330d817
fix relay find connected Peer, added cache for metadata chunk
Philreact Feb 7, 2026
4a1edde
Merge remote-tracking branch 'origin/5.2-DataFlows' into 5.2-DataFlows
Philreact Feb 7, 2026
4bfdc12
put back main magic for network
Philreact Feb 7, 2026
50e955f
Flag @Deprecated the 2 endpoints for Sponsorship
Feb 7, 2026
778249b
Revert "Flag @Deprecated the 2 endpoints for Sponsorship"
Philreact Feb 7, 2026
495cfd7
update batching system with re-fetching from other peers.
Philreact Feb 8, 2026
62cfb0d
show peers in app/website renderer
Philreact Feb 8, 2026
8daccd2
Upgrade Swagger Module / Remove Comments
Feb 8, 2026
297e5e3
Merge remote-tracking branch 'origin/5.2-DataFlows' into 5.2-DataFlows
Feb 8, 2026
8f56fa3
Fix GROUP_APPROVAL validation for same-block txs
Philreact Feb 9, 2026
5e47927
fix doge and rvn naming for enable wallet
Philreact Feb 9, 2026
4902f24
Fix MULTI_PAYMENT balance check (NO_BALANCE validation)
QuickMythril Feb 9, 2026
841e872
Add v6 Information file
Feb 9, 2026
26b2ded
Merge pull request #4 from QuickMythril/patch-3
IceBurst Feb 9, 2026
68ac70b
v6 Update / Remove 2 INFO lines
Feb 9, 2026
4ca870a
Merge remote-tracking branch 'origin/5.2-DataFlows' into 5.2-DataFlows
Feb 9, 2026
3f922c4
2nd Review
Feb 9, 2026
b07f6d0
Fix Typos
Feb 9, 2026
a207961
Dynamics Trigger for Cache File Count, Correction for Cache Cleanup
Feb 9, 2026
d0984a9
Update return value to use INSUFFICIENT_FEE
Feb 9, 2026
ac6cb79
fix relay cache bad math
Philreact Feb 9, 2026
70f3520
Revert "Update return value to use INSUFFICIENT_FEE"
Philreact Feb 9, 2026
ec0a6a0
Revert "Fix MULTI_PAYMENT balance check (NO_BALANCE validation)"
Philreact Feb 9, 2026
b63eec1
Merge pull request #5 from IceBurst/5.2-DataFlows
IceBurst Feb 9, 2026
fa54e80
Merge pull request #40 from IceBurst/5.2-DataFlows
kennycud Feb 9, 2026
ecf8b48
reverting the latest change to the PublicKeyAccount constructor, this…
kennycud Feb 9, 2026
8d395b9
Add Docker compose defaults with host binding and internal mode
crowetic Feb 9, 2026
e219458
Fixes to docker setup
crowetic Feb 10, 2026
93ff600
slight readme modification
crowetic Feb 10, 2026
90641bd
Handle null public key
Feb 10, 2026
05bb077
clear queue hashes when on disconnect, and removed condition isHashQu…
Philreact Feb 10, 2026
0bbde30
Merge remote-tracking branch 'origin/5.2-DataFlows' into 5.2-DataFlows
Philreact Feb 10, 2026
d59bab0
Merge remote-tracking branch 'kenny/master' into 5.2-DataFlows
Philreact Feb 10, 2026
27f63e1
Merge pull request #42 from IceBurst/5.2-DataFlows
kennycud Feb 10, 2026
542cde6
cleanup on shutdown- PeerSendManagement
Philreact Feb 10, 2026
a1c452f
Merge pull request #43 from IceBurst/5.2-DataFlows
kennycud Feb 10, 2026
dffc5f5
modified docker to utilize existing settings and memory args with a n…
crowetic Feb 10, 2026
68d8ef8
unified naming of docker script
crowetic Feb 10, 2026
8583a43
Re-Tooled Output for /peers/data
Feb 11, 2026
98d60d8
Merge pull request #6 from IceBurst/5.2-DataFlows
IceBurst Feb 11, 2026
9da6dc2
Merge pull request #44 from IceBurst/5.2-DataFlows
kennycud Feb 11, 2026
39885d1
First Cut - HTTP2, Failure with ALPNServer Factory
Feb 11, 2026
1d43408
Now Builds and Runs, HTTP functions, HTTPS in-op
Feb 11, 2026
9ca694a
Merge pull request #308 from kennycud/master
crowetic Feb 11, 2026
4db41c0
a VERY temporary drop in version on pom for auto-update purposes
crowetic Feb 11, 2026
e67352c
Bump version to 6.0.0
Qortal-Auto-Update Feb 11, 2026
2f2f629
Expose QDN port 12394 in Docker configs
crowetic Feb 11, 2026
8f29f34
Merge remote-tracking branch 'qortal-upstream/master' into feature/do…
crowetic Feb 11, 2026
2bd7519
http = HTTP1.1 ; https = HTTP2
Feb 12, 2026
ab0ed07
dedicated I/O layer + worker pool
Philreact Feb 12, 2026
3069d64
changed logs and changed ping constant
Philreact Feb 12, 2026
da60547
Connection fixes for Electrum/Bitcoiny
crowetic Feb 12, 2026
bbf253e
Fix LTC balance failures and restore Pirate lightwallet connectivity
crowetic Feb 12, 2026
a8717c6
Merge branch 'v6.0.1-hotfix-local' into feature/docker-default-host-b…
crowetic Feb 13, 2026
09f6b3e
Replace checkpoint lock with read/write gate; rollback on close
Philreact Feb 13, 2026
beb372a
Merge branch 'v6.0.1-hotfix' into 6.1-HTTP2
Feb 13, 2026
3d1318c
Removed personal bias
Feb 13, 2026
6dd7ac1
Merge remote-tracking branch 'origin-Phil/replace-checkpoint-lock' in…
Feb 13, 2026
445b178
Merge remote-tracking branch 'origin/6.1-HTTP2' into replace-checkpoi…
Philreact Feb 14, 2026
997c46a
Repository: add durable checkpoint, fix inTransaction for reads, use …
Philreact Feb 14, 2026
6f518c5
change log and added ramp up batch size
Philreact Feb 14, 2026
57e4795
Merge branch 'replace-checkpoint-lock' into 6.1-HTTP2
Philreact Feb 14, 2026
d5792fb
Improvements
Feb 14, 2026
53194b7
Remove comment and put it in PR description
Feb 14, 2026
4b1a8cb
Fix getca to return CA from keystore (match HTTPS server)
Philreact Feb 14, 2026
8c974c2
change sleepMs to 100
Philreact Feb 14, 2026
1a5eaf7
added latest signature to arbitrary resources cache, this includes a …
kennycud Feb 15, 2026
ae13a22
Add SANs to server certificate
Feb 15, 2026
8e1e3c5
Replace checkpoint lock with read/write gate; rollback on close
Philreact Feb 13, 2026
0ad9ea8
Repository: add durable checkpoint, fix inTransaction for reads, use …
Philreact Feb 14, 2026
99305ad
change log and added ramp up batch size
Philreact Feb 14, 2026
f51cd5c
Merge branch 'v6.0.1-hotfix' into v6.0.1-hotfix-fork
Philreact Feb 15, 2026
b23b0d2
Convert WebSockets for Jetty 10 from .class map to paths
Feb 15, 2026
29f2521
process optimization
Philreact Feb 15, 2026
7b62805
Merge pull request #310 from kennycud/v6.0.1-hotfix-fork
kennycud Feb 15, 2026
7386b14
changed latestSignature column to latest_signature, moved latest_sign…
kennycud Feb 16, 2026
5de929e
Merge remote-tracking branch 'kenny/v6.0.1-hotfix-fork-2' into v6.0.1…
Philreact Feb 16, 2026
0c6e63e
Merge pull request #45 from Philreact/v6.0.1-hotfix-fork
kennycud Feb 16, 2026
8f8fd41
Merge branch 'v6.0.1-hotfix-fork-2' into v6.0.1-hotfix-fork
Philreact Feb 16, 2026
b082830
moved populateLatestSignaturesIfNecessary after bootstrap
Philreact Feb 16, 2026
0b708d5
add missing lower_case_name bind
Philreact Feb 16, 2026
2edb773
added Nicola's optimizations
Philreact Feb 16, 2026
f48aee1
Fix race condition and lock leak in unconfirmed transaction handling
Philreact Feb 16, 2026
ce9b170
Merge remote-tracking branch 'origin/6.1-HTTP2' into hotfix-with-http2
Philreact Feb 16, 2026
bd25cf4
Merge branch 'hotfix-with-http2' into 6.1-HTTP2
Philreact Feb 16, 2026
58c8dec
Fix ConcurrentModificationException in NetworkData and Network
Philreact Feb 17, 2026
932d103
ApiService restart: lifecycle, recovery, Jersey config
Philreact Feb 17, 2026
f77bb5c
ApiService restart: lifecycle, recovery, Jersey config
Philreact Feb 17, 2026
380d0fb
Handle both byte[] and String formats for iPAddress in certificate SA…
Philreact Feb 17, 2026
58b2c40
Format code
Feb 17, 2026
26acedd
Increase MAX_CONCURRENT_REQUESTS to 30
Feb 17, 2026
e85060b
buildUTXO() now resolves script via a shared helper instead of only r…
crowetic Feb 17, 2026
d3160d2
Added rebuilt proto and fixes for proto vulnerabilities
crowetic Feb 18, 2026
32e645e
added updated pom with proto rebuild options
crowetic Feb 18, 2026
e3fa3b6
Merge pull request #7 from crowetic/feature/docker-default-host-binding
Philreact Feb 18, 2026
4e4d412
Merge branch '6.1-HTTP2' into fix/proto-regeneration
crowetic Feb 18, 2026
250754b
added lifecycle mapping and fixed exclusion addition for bouncycastle…
crowetic Feb 18, 2026
7a8183c
Merge pull request #9 from crowetic/fix/proto-regeneration
Philreact Feb 18, 2026
7c91b7e
added null check for importer
Philreact Feb 18, 2026
64d3a1f
change back verion to 6.0.0
Philreact Feb 18, 2026
f25b111
removed eclipse-specific settings causing vscodium to fail to load ja…
crowetic Feb 19, 2026
4eaa16a
Merge remote-tracking branch 'Nicola/feature/improve_q_apps_js_file' …
Philreact Feb 20, 2026
222100c
added ping/pongs and removed apiKey requirement on two GETs
Philreact Feb 20, 2026
1e17e7c
added safename for built files
Philreact Feb 21, 2026
14d4f2c
increase the default of setMaxFormContentSize for jetty 10
Philreact Feb 21, 2026
5fc87a0
updated cleanupOrphanedChannels so it respects the timeouts
Philreact Feb 21, 2026
3345599
removed support for the patch method when publishing
Philreact Feb 21, 2026
785caba
changed logs Skipping requested checkpoint and cleanup manager
Philreact Feb 21, 2026
7466e5b
Merge pull request #10 from crowetic/auto-update-issue-2026
Philreact Feb 22, 2026
8f812e7
perf(network): eliminate Network-IO tight spin via NIO selector optim…
Philreact Feb 22, 2026
c718395
Change isTestChain from final to mutable
nbenaglia Feb 22, 2026
241f0db
Merge pull request #12 from nbenaglia/fix/maven-tests-settings
IceBurst Feb 22, 2026
9501143
Merge branch 'refs/heads/master' into 6.1-HTTP2
Feb 22, 2026
0459454
Fix QDN cache: set latestSignature from actual latest tx, not current tx
Philreact Feb 23, 2026
ab20272
Merge pull request #11 from Philreact/6.1-HTTP2
Philreact Feb 23, 2026
681bd1f
added additional logging for EXCEEDS_SIZE_LIMIT for diagnostic purpos…
crowetic Feb 24, 2026
3d10ca1
Merge pull request #13 from crowetic/fix/swagger-openapi-classgraph-oom
Philreact Feb 24, 2026
3102240
populated parent on TransactionOutput construction
kennycud Feb 25, 2026
c14be39
Merge remote-tracking branch 'kennycud/6.1-HTTP2' into investigate/on…
crowetic Feb 25, 2026
efc7c06
Add diagnostics for repeated online-account nonce recomputation
crowetic Feb 25, 2026
2ef7697
Merge pull request #47 from crowetic/investigate/online-nonce-repeat-…
kennycud Feb 25, 2026
43b4ce4
added new endpoint to get all the join requests for an admin's groups…
Philreact Feb 26, 2026
321c36b
return if exists ownerPrimaryName in GroupData api calls
Philreact Feb 26, 2026
89a32fc
return primary name if exists in GroupMembers
Philreact Feb 26, 2026
3400e48
Fix perpetual stuck peers caused by peerType overwrite in HELLO_V2 ha…
Philreact Feb 26, 2026
c4e0c0a
patch for illegalStateException for Output linked to wrong Parent Tra…
crowetic Feb 26, 2026
a7afac4
Merge pull request #48 from crowetic/investigate/online-nonce-repeat-…
kennycud Feb 26, 2026
3f94ec5
Merge remote-tracking branch 'kenny/6.1-HTTP2' into 6.1-HTTP2
Philreact Feb 26, 2026
93e7b2c
Merge pull request #49 from IceBurst/6.1-HTTP2
kennycud Feb 26, 2026
6972e86
Merge pull request #319 from kennycud/6.1-HTTP2
crowetic Feb 27, 2026
a322791
Bump version to 6.1.0
Qortal-Auto-Update Feb 27, 2026
e53766d
Update generate-release-notes script
crowetic Feb 28, 2026
59dfa19
Merge pull request #320 from crowetic/chore/release-notes-script-update
crowetic Feb 28, 2026
bee4364
Fix API SSL startup: hostname fallback, corrupt keystore recovery, de…
Philreact Feb 28, 2026
a55120f
SslUtils: avoid adding IP addresses as DNS names in certificate SAN
Philreact Mar 1, 2026
acb1523
add cleanup
Philreact Mar 1, 2026
41859ba
Merge pull request #321 from Qortal/bugfix/api-ssl-startup
crowetic Mar 4, 2026
64a00d4
Bump version to 6.1.1
Qortal-Auto-Update Mar 4, 2026
e469a6c
Merge remote-tracking branch 'qortal-upstream/master' into chore/rele…
crowetic Mar 4, 2026
9c7cdba
Restore interactive prompts in release notes script
crowetic Mar 4, 2026
98b8671
Merge pull request #324 from crowetic/chore/release-notes-script-update
crowetic Mar 4, 2026
777d397
disable duplication check for qortalRequests
Philreact Mar 6, 2026
e7d8688
Merge pull request #325 from Qortal/revert/qortalrequest-duplication
crowetic Mar 9, 2026
d5de956
Bump version to 6.1.2
Qortal-Auto-Update Mar 9, 2026
4ae8eb7
optimize get active groups query
Philreact Mar 10, 2026
16a0b17
optimize db and processing
Philreact Mar 11, 2026
fe5b185
update checkpointing to a hybrid approach between this and last - low…
crowetic Mar 11, 2026
4ee9441
dramatically increased numbers for force-checkpointing (as was still …
crowetic Mar 11, 2026
9035e22
Merge pull request #328 from Qortal/update/db-optimizations-process
crowetic Mar 13, 2026
243ff7f
Bump version to 6.1.3
Qortal-Auto-Update Mar 13, 2026
5b577d1
started on notifications manager
Philreact Mar 14, 2026
6e8d845
initial update
kennycud Mar 5, 2026
95dc000
test settings
Philreact Mar 14, 2026
0ac0093
Merge remote-tracking branch 'origin/master' into test-notifications
Philreact Mar 14, 2026
c90c9b7
Add endpoint for appRatings
Mar 14, 2026
97f3cac
Merge pull request #331 from nbenaglia/feature/320_endpoint_app_ratings
nbenaglia Mar 14, 2026
a94af46
fixes to notification manager
Philreact Mar 15, 2026
87cf7ae
fix issue with recent metadata requests
Philreact Mar 15, 2026
e059179
fix metadata fetching
Philreact Mar 17, 2026
2c8511b
added onchain resource bulk fetch
Philreact Mar 17, 2026
7c59604
update cache search when they come in
Philreact Mar 18, 2026
db465f6
remove logs
Philreact Mar 19, 2026
79680f7
return null if latest transaction has no metadatahash
Philreact Mar 19, 2026
fdeb71d
put back main-net initial peers and magic
Philreact Mar 19, 2026
ac3c502
undo height change
Philreact Mar 19, 2026
3cb48b4
reformat json
Philreact Mar 19, 2026
59a40ac
Merge pull request #334 from Qortal/feature/notifications-manager-main
Philreact Mar 19, 2026
7dda5ef
remove chat logs
Philreact Mar 19, 2026
4e98a9f
Merge pull request #335 from Qortal/remove-chat-logs
Philreact Mar 19, 2026
95c517d
fix: prevent checkpoint from blocking all DB threads (synchronizer coma)
Philreact Mar 20, 2026
7a49539
fix: reduce memory spikes and prevent EventBus deadlock in arbitrary …
Philreact Mar 21, 2026
9a7ddb2
optimize arbitrary metadata fetch path
Philreact Mar 21, 2026
aa529f0
fix(metadata): evict stale relay entries from arbitraryMetadataReques…
Philreact Mar 22, 2026
9621867
fix memory leak for arbitraryMetadataSignatureRequests
Philreact Mar 23, 2026
fababb9
added at
Philreact Mar 25, 2026
e410f79
Merge pull request #336 from Qortal/fix/hsqldb-checkpoint-coma
Philreact Mar 25, 2026
458018a
Update blockchain.json
kennycud Mar 26, 2026
d68505f
Merge pull request #337 from Qortal/develop
kennycud Mar 26, 2026
dac844c
Bump version to 6.1.4
Qortal-Auto-Update Mar 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 7 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
.github
.vscode
target
testnet
WindowsInstaller
data
*.iml
12 changes: 12 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
QORTAL_CONTAINER_NAME=qortal-core
QORTAL_NETWORK_NAME=qortal-net

# Keep these in sync with values in ./data/qortal/settings.json
QORTAL_API_PORT=12391
QORTAL_P2P_PORT=12392
QORTAL_QDN_PORT=12394

# Host bind addresses used by docker-compose.yml
QORTAL_API_BIND_HOST=127.0.0.1
QORTAL_P2P_BIND_HOST=0.0.0.0
QORTAL_QDN_BIND_HOST=0.0.0.0
37 changes: 37 additions & 0 deletions .github/workflows/pr-testing.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: PR testing

on:
push:
branches: [ master ]

jobs:
mavenTesting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Cache local Maven repository
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Set up the Java JDK
uses: actions/setup-java@v3
with:
java-version: '11'
distribution: 'adopt'

- name: Load custom deps
run: |
mvn install -DskipTests=true --file pom.xml

- name: Run all tests
run: |
mvn -B clean test -DskipTests=false --file pom.xml
if [ -f "target/site/jacoco/index.html" ]; then echo "Total coverage: $(cat target/site/jacoco/index.html | grep -o 'Total[^%]*%' | grep -o '[0-9]*%')"; fi

- name: Log coverage percentage
run: |
if [ ! -f "target/site/jacoco/index.html" ]; then echo "No coverage information available"; fi
if [ -f "target/site/jacoco/index.html" ]; then echo "Total coverage: $(cat target/site/jacoco/index.html | grep -o 'Total[^%]*%' | grep -o '[0-9]*%')"; fi
23 changes: 20 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
/db*
/lists/
/bin/
/target/
/qortal-backup/
/log.txt.*
/arbitrary*
/Qortal-BTC*
Expand All @@ -12,7 +14,22 @@
/.mvn.classpath
/notes*
/settings.json
/testnet*
/settings*.json
/testchain.json
/run-testnet.sh
/testchain*.json
/run-testnet*.sh
/.idea
/qortal.iml
.DS_Store
/src/main/resources/resources
/*.jar
/run.pid
/run.log
/WindowsInstaller/Install Files/qortal.jar
/*.7z
/tmp
/wallets
/data*
/src/test/resources/arbitrary/*/.qortal/cache
apikey.txt
/.env
/.m2-local
12 changes: 12 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"java.compile.nullAnalysis.mode": "automatic",
"java.configuration.updateBuildConfiguration": "interactive",
"[java]": {
"editor.formatOnSave": false,
"editor.defaultFormatter": "redhat.java"
},
"editor.codeActionsOnSave": {
"source.organizeImports": "never",
"source.fixAll": "never"
}
}
29 changes: 26 additions & 3 deletions AutoUpdates.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
# Auto Updates

## TL;DR: how-to

* Prepare new release version (see way below for details)
* Assuming you are in git 'master' branch, at HEAD
* Shutdown local node if running
* Build auto-update download: `tools/build-auto-update.sh` - uploads auto-update file into new git branch
* Restart local node
* Publish auto-update transaction using *private key* for **non-admin** member of "dev" group:
`tools/publish-auto-update.pl non-admin-dev-member-private-key-in-base58`
* Wait for auto-update `ARBITRARY` transaction to be confirmed into a block
* Have "dev" group admins 'approve' auto-update using `tools/approve-auto-update.sh`
This tool will prompt for *private key* of **admin** of "dev" group
* A minimum number of admins are required for approval, and a minimum number of blocks must pass also.
* Nodes will start to download, and apply, the update over the next 20 minutes or so (see CHECK_INTERVAL in AutoUpdate.java)

## Theory
* Using a specific git commit (e.g. abcdef123) we produce a determinstic JAR with consistent hash.
* To avoid issues with over-eager anti-virus / firewalls we obfuscate JAR using very simplistic XOR-based method.
Expand All @@ -25,8 +40,8 @@ The same method is used to obfuscate and de-obfuscate:

## Typical download locations
The git SHA1 commit hash is used to replace `%s` in various download locations, e.g.:
* https://github.com/QORT/qortal/raw/%s/qortal.update
* https://raw.githubusercontent.com@151.101.16.133/QORT/qortal/%s/qortal.update
* https://github.com/Qortal/qortal/raw/%s/qortal.update
* https://raw.githubusercontent.com@151.101.16.133/Qortal/qortal/%s/qortal.update

These locations are part of the org.qortal.settings.Settings class and can be overriden in settings.json like:
```
Expand All @@ -45,4 +60,12 @@ $ java -cp qortal.jar org.qortal.XorUpdate
usage: XorUpdate <input-file> <output-file>
$ java -cp qortal.jar org.qortal.XorUpdate qortal.jar qortal.update
$
```
```

## Preparing new release version

* Shutdown local node
* Modify `pom.xml` and increase version inside `<version>` tag
* Commit new `pom.xml` and push to github, e.g. `git commit -m 'Bumped to v1.4.2' -- pom.xml; git push`
* Tag this new commit with same version: `git tag v1.4.2`
* Push tag up to github: `git push origin v1.4.2`
12 changes: 9 additions & 3 deletions DATABASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ You can examine your node's database using [HSQLDB's "sqltool"](http://www.hsqld
It's a good idea to install "rlwrap" (ReadLine wrapper) too as sqltool doesn't support command history/editing.

Typical command line for sqltool would be:
`rlwrap java -cp ${HSQLDB_JAR}:${SQLTOOL_JAR} org.hsqldb.cmdline.SqlTool --rcFile=${SQLTOOL_RC} qora`
`rlwrap java -cp ${HSQLDB_JAR}:${SQLTOOL_JAR} org.hsqldb.cmdline.SqlTool --rcFile=${SQLTOOL_RC} qortal`

`${HSQLDB_JAR}` should be set with pathname where Maven downloaded hsqldb,
typically `${HOME}/.m2/repository/org/hsqldb/hsqldb/2.5.0/hsqldb-2.5.0.jar`
typically `${HOME}/.m2/repository/org/hsqldb/hsqldb/2.5.1/hsqldb-2.5.1.jar`

`${SQLTOOL_JAR}` should be set with pathname where Maven downloaded sqltool,
typically `${HOME}/.m2/repository/org/hsqldb/sqltool/2.5.0/sqltool-2.5.0.jar`
Expand All @@ -25,10 +25,16 @@ Above `url` component `file:db/blockchain` assumes you will call `sqltool` from

Another idea is to assign a shell alias in your `.bashrc` like:
```
export HSQLDB_JAR=${HOME}/.m2/repository/org/hsqldb/hsqldb/2.5.0/hsqldb-2.5.0.jar
export HSQLDB_JAR=${HOME}/.m2/repository/org/hsqldb/hsqldb/2.5.1/hsqldb-2.5.1.jar
export SQLTOOL_JAR=${HOME}/.m2/repository/org/hsqldb/sqltool/2.5.0/sqltool-2.5.0.jar
alias sqltool='rlwrap java -cp ${HSQLDB_JAR}:${SQLTOOL_JAR} org.hsqldb.cmdline.SqlTool --rcFile=${SQLTOOL_RC}'
```
So you can simply type: `sqltool qortal`

Don't forget to use `SHUTDOWN;` before exiting sqltool so that database files are closed cleanly.

## Quick and dirty version

With `sqltool-2.5.0.jar` and `qortal.jar` in current directory, and database in `db/`

`java -cp qortal.jar:sqltool-2.5.0.jar org.hsqldb.cmdline.SqlTool --inlineRc=url=jdbc:hsqldb:file:db/blockchain`
36 changes: 36 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
FROM maven:3.9-eclipse-temurin-17 AS builder
FROM maven:3.9-eclipse-temurin-17 AS builder

WORKDIR /work
COPY ./ /work/
RUN mvn clean package

###
FROM eclipse-temurin:17-jre
FROM eclipse-temurin:17-jre

RUN apt-get update && \
apt-get install -y --no-install-recommends curl && \
rm -rf /var/lib/apt/lists/*

RUN mkdir -p /usr/local/qortal /qortal && \
chown -R 1000:100 /usr/local/qortal /qortal
RUN mkdir -p /usr/local/qortal /qortal && \
chown -R 1000:100 /usr/local/qortal /qortal

COPY --from=builder /work/log4j2.properties /usr/local/qortal/
COPY --from=builder /work/target/qortal*.jar /usr/local/qortal/qortal.jar
COPY ./docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
COPY ./docker-start.sh /usr/local/bin/docker-start.sh
RUN chmod +x /usr/local/bin/docker-entrypoint.sh /usr/local/bin/docker-start.sh

USER 1000:100

EXPOSE 12391 12392 12394
HEALTHCHECK --start-period=5m CMD curl -sf http://127.0.0.1:12391/admin/info || exit 1

WORKDIR /qortal
VOLUME /qortal

ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
CMD []
Loading