Qortium is a stripped-down and cleaned-up fork of Qortal Core. The goal is to keep a practical blockchain node foundation that other projects can understand, test, and adapt into their own chain with less inherited baggage.
This repository contains the Java node, blockchain processing code, local APIs, networking, build tooling, and the early Qortium documentation set.
Qortium is active development software for builders and testers. It is not yet packaged as a polished end-user application, and some inherited documentation and workflows are still being cleaned up.
For a plain-language history of the fork work, start with QORTIUM-CHANGELOG.md.
The easiest first test is the local single-node testnet. It starts a disposable chain on your machine and avoids setting up peers or a multi-node minting rotation.
Prerequisites:
- Java 17 or newer
- Maven
Use the build helper from the repository root:
./build.shThe helper checks Java, javac, and Maven first. If something is missing, it links to the official install docs and stops before running the build.
Start the local testnet and confirm that it is minting blocks:
./testnet/start.sh
./testnet/status.sh --waitThe local testnet API listens at:
http://localhost:24891
Stop it with:
./testnet/stop.shSee testnet/README.md for the full first-test walkthrough, reset instructions, generated runtime files, and multi-node testnet notes.
The shared Qortium preview network is a public alpha/demo profile for connecting
to the seed nodes at 146.103.42.59 and 185.207.104.78. It is separate from
the local single-node testnet and uses normal multi-node rules.
./build.sh
./preview/start.sh
./preview/status.sh --waitThe preview scaffold is connection-ready and includes three public genesis minting authorizations for initial seed/local testing. Private minting keys are not committed. Public testers should start with preview/TESTER-GUIDE.md; seed operators and minting-key setup should use preview/README.md and preview/OPERATOR-RUNBOOK.md.
For normal local node operation, build the jar with the helper and use the root lifecycle scripts:
./build.sh
./start.shStop the node with:
./stop.shThe root scripts look for qortium.jar first and otherwise use a built
target/qortium*.jar. Runtime state such as settings.json, run.log, and
the database directory is local to the repository working directory unless
configured otherwise.
Docker support is available for developers who prefer a containerized node.
cp .env.example .env
docker compose up -d --build
docker compose logs -f qortium
docker compose downFor an internal Docker network without host port publishing:
docker compose -f docker-compose.internal.yml up -d --buildContainer data and settings.json are stored under ./data/qortium. The JVM
start arguments file is stored at ./data/qortium/start-arguments.txt.
Useful local checks:
mvn -q -DskipTests package
mvn -q -DskipTests compile
mvn -q testFor IDE runs, use Java 17 and the main class:
org.qortium.controller.Controller
Use settings.json as the program argument when running a normal local node.
- Documentation index - topic-based guide to the docs tree
- Qortium changelog - plain-language project history
- Local testnet guide - single-node and multi-node testnet setup
- Testing notes - repository test guidance
- Account trust network - trust model and rating behavior
- QDN app documentation - QDN app concepts and request examples
Most detailed docs now live under docs/ by topic. Tool-specific docs remain
beside the scripts or packaging files they describe.