The lite version of Qubic Core that can run directly on the OS without a UEFI environment.
Compare core-lite (develop) vs. core (develop)
- Mainnet (Beta)
- Local Testnet
- Security tick :
./Qubic --security-tick 32
The security tick temporarily skips verifying your node’s contract state (computer digest) against the quorum. Verification is performed only every
--security-tickinterval.
- Ticking delay (local testnet):
./Qubic --ticking-delay 1000
If your local testnet ticking too fast, you can slow it down by
--ticking-delayms.
- Peers:
./Qubic --peers 1.2.3.4,8.8.8.8
You can add more peers using command line
To run a qubic local testnet node, you need the following spec:
- 16GB RAM.
No initial files are needed in this version (eg. spectrum, universe, contract,...)
To run a qubic mainnet node, you need the following spec:
- High frequency CPU with AVX2/AVX512 support (recommend VCPU AMD 7950x @ 8theads)
- 1Gb/s synchronous internet connection
- 64GB RAM.
- 500GB fast SSD disk.
Initial files are needed in this version (eg. spectrum, universe, contract,...)
Local Testnet Single Node
In qubic.cpp
1. Uncomment // #define TESTNET
// #define TESTNET // UNCOMMENT this line if you want to compile for testnet
// this option enables using disk as RAM to reduce hardware requirement for qubic core node
// it is highly recommended to enable this option if you want to run a full mainnet node on SSD
// UNCOMMENT this line to enable it
#define USE_SWAP2. Build
Local Testnet Multiple Nodes
Afer single node steps please do:
In private_settings.h, split the 676 seeds in broadcastedComputorSeeds into computorSeeds across your nodes (e.g., 300 seeds in node 1, the remaining 376 seeds in node 2):
static unsigned char computorSeeds[][55 + 1] = {
};Warning Do not change the
broadcastedComputorSeeds.
Make sure you have commented #define TESTNET
1. Add public peers from https://app.qubic.li/network/live via command line --peers (eg. --peers 15.235.225.233,115.79.212.169)
2. Prepare the epoch files (blockchain state).
They should be named and structured as follows:
./contract0000.XXX
./contract0001.XXX
./contract0002.XXX
./contract0003.XXX
./contract0004.XXX
./contract0005.XXX
./contract0006.XXX
./contract0007.XXX
./contract0008.XXX
./contract0009.XXX
./contract0010.XXX
./contract0011.XXX
./contract00xx.XXX
./spectrum.XXX
./universe.XXX
Place all of these files in the same directory where you plan to launch the Qubic binary.
3. Build
- Open .sln file in project root folder in Visual Studio
- Change build config to Release -> Right click at Qubic project -> Build
Detailed instruction can be found here: Linux Build Tutorial
- 676 seeds in
broadcastedComputorSeedsandcustomSeedseach has 10B Qubic.
Current mainnet state
Press F12 to switch to MAIN mode to make the network start ticking (processing transactions).
This feature only available in Linux!
Qubic Core Lite provides a built-in RPC API that enables developers to interact directly with a Lite node with official RPC style, removing the need for an original complex RPC layer.
- RPC Live (OK):
http://localhost:41841/live/v1 - RPC Stats (OK):
http://localhost:41841/ - RPC Query V2 (OK):
http://localhost:41841/query/v1 - RPC Archiver V2: Deprecated (not implemented)
Remember to select the appropriate API definition for each endpoint.
- For Local Testnet: Default
PORTis 31841, you can change it inqubic.cpp - For Local Testnet: If you want to fund your custom wallet (seed), you can add these into
customSeedsinprivate_settings.h - For Local Testnet: An epoch will have
TESTNET_EPOCH_DURATION(3000) ticks by default, you can change it inpublic_settings.h - You can deploy your own RPC server to core lite - how to
- Change
TICK_STORAGE_AUTOSAVE_MODEinprivate_settings.hto1to enable Snapshot mode (your node will start from latest saved snapshot state when crash/restart instead of from scratch)
- My node stop ticking after restart, why? Delete the system file at your current working folder, it may make your node start with wrong state.
| Feature | Syntax | Example Usage | Description |
|---|---|---|---|
| Peers | --peers |
--peers 127.0.0.1 |
Specifies peer nodes for network connection. |
| Security Tick | --security-tick |
--security-tick 32 |
Verifies state after every X ticks to reduce the node's computational load. |
| Lite Node Operator Alias | --operator-alias |
--operator-alias "MyNode" |
A human-readable name for the lite node operator. |
| Lite Node Operator ID (Seed) | --operator-seed |
--operator-seed aaa...aaa |
Used to identify lite node operators in the network (utilized by the Network Guardian project). |
| Logging Reader Passcode | --reader-passcode |
--reader-passcode 1-2-3-4 |
The passcode required to access or read node logs. |
-
Windows
-
Linux