*** WARNING *** Possible block reward bug in this commit. Further investigation needed. Reverted AccountBalances back to height-less form. Added HistoricAccountBalances table that is populated via trigger on AccountBalances. This saves work when performing common requests for latest/confirmed balances, shunting the extra work to when requesting height-related account balances. Unified API call GET /addresses/balance/{address} by having address/assetId/height as query params. Simpler call for fetching legacy QORA holders during block rewarding. Improved SQL for fetching asset balances, in all conditions, e.g. with/without filtering addresses, with/without filtering assetIds, etc. Unit test for above to make sure query execution is fast enough. (At one point, some SQL query was taking 6 seconds!) Added optional 'height' Integer to AccountBalanceData, but this is not populated/used very often. HSQLDBAccountRepository.save(AccountBalanceData) now checks zero balance saves to see if the row can be deleted instead. This fixes a lot of unhappy tests that complain that there are residual account balance rows left after post-test orphaning back to genesis block. Yet more tests. Removed very old 'TransactionTests' which are mostly covered in more specific tests elsewhere. Added cancel-sell-name test from above. Fixed AssetsApiTests to check for QORT not QORA! Changed hard-coded assetIDs in test.common.AssetUtils in light of new LEGACY_QORA & QORT_FROM_QORA genesis assets. Some test blockchain config changes. |
||
---|---|---|
lib/org/ciyam/at | ||
src | ||
.gitignore | ||
log4j2.properties | ||
pom.xml | ||
README.md |
((Qora2)) - Qortal Project - Official Repo
To use:
- Use maven to fetch dependencies.
- Build project.
- Build v1feeder.jar as a fatjar using src/v1feeder.java as the main class
- Fire up an old-gen Qora node.
- Use
v1feeder.jar
to migrate old Qora blocks to DB:
java -jar v1feeder.jar qora-v1-node-ip
You should now be able to run all the JUnit tests.
You can also examine the migrated database using HSQLDB's "sqltool".
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
${HSQLDB_JAR}
contains pathname to where Maven downloaded hsqldb,
typically ${HOME}/.m2/repository/org/hsqldb/hsqldb/2.4.0/hsqldb-2.4.0.jar
,
but for now lib/org/hsqldb/hsqldb/r5836/hsqldb-r5836.jar
${SQLTOOL_JAR}
contains pathname to where Maven downloaded sqltool,
typically ${HOME}/.m2/repository/org/hsqldb/sqltool/2.4.1/sqltool-2.4.1.jar
${SQLTOOL_RC}
contains pathname to a text file describing Qora2 database,
e.g. ${HOME}/.sqltool.rc
, with contents like:
urlid qora
url jdbc:hsqldb:file:db/qora
username SA
password
urlid qora-test
url jdbc:hsqldb:file:db/test
username SA
password
You could change the line url jdbc:hsqldb:file:db/test
to use a full pathname for easier use.
Another idea is to assign a shell alias in your .bashrc
like:
export HSQLDB_JAR=${HOME}/.m2/repository/org/hsqldb/hsqldb/2.4.0/hsqldb-2.4.0.jar
export SQLTOOL_JAR=${HOME}/.m2/repository/org/hsqldb/sqltool/2.4.1/sqltool-2.4.1.jar
alias sqltool='rlwrap java -cp ${HSQLDB_JAR}:${SQLTOOL_JAR} org.hsqldb.cmdline.SqlTool --rcFile=${SQLTOOL_RC}'
So you can simply type: sqltool qora-test
Don't forget to use SHUTDOWN;
before exiting sqltool so that database files are closed cleanly.