From d2d2956c8a8b076659cc1bfca75d6a01c2fa551b Mon Sep 17 00:00:00 2001 From: catbref Date: Wed, 22 Jan 2020 10:54:21 +0000 Subject: [PATCH] Updated build instructions in README.md and moved database info to DATABASE.md --- DATABASE.md | 34 +++++++++++++++++++++++++++++ README.md | 62 ++++++----------------------------------------------- 2 files changed, 41 insertions(+), 55 deletions(-) create mode 100644 DATABASE.md diff --git a/DATABASE.md b/DATABASE.md new file mode 100644 index 00000000..dc4eb6f1 --- /dev/null +++ b/DATABASE.md @@ -0,0 +1,34 @@ +# Database + +You can examine your node's database using [HSQLDB's "sqltool"](http://www.hsqldb.org/doc/2.0/util-guide/sqltool-chapt.html). +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}` should be set with pathname where Maven downloaded hsqldb, +typically `${HOME}/.m2/repository/org/hsqldb/hsqldb/2.5.0/hsqldb-2.5.0.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` + +`${SQLTOOL_RC}` should be set with pathname of a text file describing HSQLDB databases, +e.g. `${HOME}/.sqltool.rc`, with contents like: + +``` +urlid qortal +url jdbc:hsqldb:file:db/blockchain +username SA +password +``` +Above `url` component `file:db/blockchain` assumes you will call `sqltool` from directory containing `db/`. + +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 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. diff --git a/README.md b/README.md index 4ec1a82b..5860ffd8 100644 --- a/README.md +++ b/README.md @@ -1,58 +1,10 @@ # ((Qora2)) - Qortal Project - Official Repo -To use: +## Build / run -- 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"](http://www.hsqldb.org/doc/2.0/util-guide/sqltool-chapt.html). - -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. +- Requires Java 11 +- 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.