v0.1.1-testnet4
Qbit version v0.1.1-testnet4 is available from the release page for that
version.
This is a public testnet4 maintenance release based on the changes since
v0.1.0-testnet4. It preserves the reset testnet4 lineage from v0.1.0 and
focuses on AuxPoW mining compatibility and upgrade behavior, wallet and PQC
signing reliability, Qt send responsiveness and status visibility, and public
release/CI hardening.
Testnet-era release artifacts are for public testnet use only unless the
release page explicitly says otherwise. Qbit mainnet is not launched. Do not
treat any in-tree mainnet genesis block, hash, seed placeholder, or endpoint
placeholder as an official mainnet launch commitment.
Testnet coins have no economic value, and the public testnet may be reset or
replaced during rehearsal.
Please report bugs using the Qbit issue tracker.
How to Upgrade
Shut down the older qbit process first and wait until it exits completely.
Then install the new binaries from the GitHub Release page.
This release does not require a testnet4 chain reset for nodes upgrading from
v0.1.0-testnet4.
On Linux, replace the existing qbitd, qbit-cli, qbit-tx, qbit-util,
and qbit-wallet binaries with the new versions.
On macOS, replace the installed Qbit application bundle or unpack the updated
archive into the desired location.
On Windows, run the installer if one is provided for the release, or replace
the unpacked binaries with the new release artifacts.
Important
Operators who run v0.1.0-testnet4 past height 20500 may need to run
reconsiderblock on the first rejected post-activation block after upgrading;
-reindex is the fallback if that block is unknown.
Compatibility
The public Qbit testnet4 chain is selected with:
qbitd -testnet4
qbit-cli -testnet4 getblockchaininfoOfficial testnet release binaries are expected to reject no-flag mainnet
startup and explicit -chain=main startup. Use -testnet4 or
-chain=testnet4 for the public testnet.
Supported and tested platforms for this release are the artifacts attached to
the GitHub Release page. The release page is the source of truth for available
platform builds, checksums, signatures, and attestations.
Public testnet4 network identity remains the v0.1.0-testnet4 reset testnet4
identity unless the release page explicitly says otherwise.
Mining pools and AuxPoW adapters should upgrade before the testnet4 AuxPoW
display-commitment activation height. createauxblock now reports the active
commitment byte order and the activation height so pool software can follow the
node result instead of inferring the encoding.
The AuxPoW display-commitment change is a scheduled testnet4 consensus rule
transition at height 20500. Nodes and mining software that remain on older
rules after that height may be unable to follow corrected AuxPoW blocks.
| Item | Value |
|---|---|
| Chain flag | -testnet4 or -chain=testnet4 |
| Default P2P port | 48355 |
| Default RPC/REST port | 48352 |
| Address HRP | tq |
| AuxPoW chain ID | 31430 |
| AuxPoW display-commitment activation height | 20500 |
Notable changes
Consensus and mining
- Corrected the AuxPoW parent-coinbase commitment byte order used by merged
mining templates and validation. - Preserved existing testnet4 AuxPoW history by validating the original
internal byte order before height20500and the corrected display byte
order at and after height20500. - Added
commitmentorderandcommitmentactivationheightfields to
createauxblockresults. Before activation the commitment order is
internal; at activation and later it isdisplay. - Added regtest control for the AuxPoW commitment transition through
-testactivationheight=auxpowcommitment@<height>and covered the
n-1/n boundary with functional and unit tests.
Node operation and upgrade behavior
- Archive nodes with legacy AuxPoW block-index entries can recover missing
persisted AuxPoW payloads from retained block files during startup. - Legacy pruned datadirs that are missing both persisted AuxPoW payloads and
historical block data now trigger a one-time automatic full reindex/resync so
the node can redownload and revalidate the missing AuxPoW history. -reindex-chainstateis rejected for that legacy pruned AuxPoW recovery
path because it cannot restore missing historical block data. Use a full
reindex/resync when the node reports this condition.
Wallet, RPC, and PQC signing
- Added wallet RPC
signdatapqchashfor signing a caller-supplied 32-byte
hash with a PQC key committed by a wallet-owned P2MR address. - Added utility RPC
verifydatapqchashfor verifying those P2MR/PQC data-hash
signature proofs without requiring wallet access. - Hardened P2MR data-hash signing so scriptPubKey manager lookup failures do
not fall through to the wrong signing context. - For multi-leaf P2MR data-hash signing, the wallet now continues to later
matching single-key leaves after a runtime PQC signing failure on an earlier
matching leaf. Explicitly selecting a failing leaf still returns a signing
failure. - Authenticated encrypted PQC key records and improved fast restore/loading of
persisted PQC keys. - Added phase-aware signing progress for transaction preparation, PQC counter
reservation, input signing, and finalization. - Added default-on parallel P2MR/PQC wallet signing, controlled by
-walletpqcparalleland-walletpqcsignthreads, with serial fallback for
ineligible transactions. - Batch-reserved PQC signature counters for parallel signing, assigned
deterministic counters to worker jobs, and finalized witnesses after raw PQC
signatures complete. - Reduced signing-provider collection overhead for transactions with many P2MR
inputs. - Plaintext descriptor PQC records now load into a pending validation state and
are fully validated after wallet load before private signing use. - PQC signing, send/sign RPCs, and wallet encryption are blocked while
plaintext PQC key validation is pending or failed. getwalletinforeportspqc_key_validationstatus and progress fields so
operators can see whether plaintext PQC key validation is pending, complete,
or failed.- Added PQC and Qt send-preparation timing logs to make slow-signing diagnosis
easier. - Aligned the public RPC atomic unit naming with the GUI's
bitsterminology.
Qt
- Moved Qt send preparation off the GUI thread so large P2MR/PQC transactions
no longer block the interface while signing work is prepared. - Made send cancellation stop in-flight asynchronous preparation.
- Shows phase-aware send-preparation labels and progress for PQC counter
reservation, input signing, and transaction finalization. - During Qt send preparation, Cancel remains available until PQC counters are
reserved. After reservation, the preparation dialog removes Cancel and
finishes preparing the transaction; users can still decline the final send
confirmation before broadcast. - Hid the receive-address type selector when P2MR is the only available receive
type. - Prevented stale sync-progress displays from reaching a visible
100%before
the node has actually completed synchronization. - Shows plaintext PQC key-validation status and encryption guidance for
unencrypted wallets. - Uses a theme-aware overview background logo so the GUI remains legible in
light and dark themes. - Shows the Qt client version in the status bar next to the display unit
selector.
Release and CI
- Bumped release metadata to
v0.1.1-testnet4. - Added and hardened public contribution templates, public contribution
guidance, and release-tag signature/ruleset documentation. - Added public Core Checks and trusted-runner gating, including release
validator coverage for retained public release tests. - Improved local release publication linkage fallback handling and release tag
signature enforcement documentation.
Known issues
No new release-specific known issues are added by v0.1.1-testnet4. Testnet4
remains a public rehearsal network and may still be reset or replaced during
the testnet era.
Credits
Thanks to everyone who contributed code, testing, review, infrastructure, and
release coordination for this release.