OrdexCoin with vASERT difficulty adjustment feature.
This repository contains the Docker-based build system and the source overlay (Ordexcoin-Core-vASERT-4790.zip) that applies branding and configuration changes on top of Bitcoin Core v25.0.
Requires Docker. No other dependencies needed.
./build-docker-linux.shOutput: build/ordexcoin-v25.0.0-linux-x86_64.tar.gz
Binaries: ordexcoind, ordexcoin-cli, ordexcoin-tx, ordexcoin-wallet, ordexcoin-util, ordexcoin-qt
Builds all dependencies from source (Boost, Qt 5.15, BDB 4.8, libevent, etc.) and links them statically. The daemon binaries have no external shared library dependencies beyond libc/libstdc++:
./build-docker-linux.sh --static
# or equivalently:
./build-docker-linux-static.shOutput: build/ordexcoin-v25.0.0-linux-x86_64-static.tar.gz
Binaries: ordexcoind-static, ordexcoin-cli-static, ordexcoin-tx-static, ordexcoin-wallet-static, ordexcoin-util-static, ordexcoin-qt-static
./build-docker-windows.shOutput: build/ordexcoin-v25.0.0-windows-x86_64.zip
Binaries: ordexcoind.exe, ordexcoin-cli.exe, ordexcoin-tx.exe, ordexcoin-wallet.exe, ordexcoin-util.exe, ordexcoin-qt.exe, libordexcoinconsensus-0.dll
- First build downloads and builds all dependencies from source (Boost, Qt 5.15, BDB 4.8, etc.). Allow 1-2 hours for Windows, 30-60 minutes for Linux. Subsequent builds cache unchanged layers.
All changes are applied by the Dockerfiles (Dockerfile.linux, Dockerfile.windows) on top of Bitcoin Core v25.0 baseline.
Root cause of initial build failure. The source overlay zip was created on Windows and uses backslash path separators (\). Python's zipfile.extractall() on Linux creates directories literally named build-aux\m4\ instead of build-aux/m4/. This causes:
configure.accallsORDEXCOIN_QT_INITandORDEXCOIN_QT_CONFIGURE- These macros are defined in
ordexcoin_qt.m4inside the zip - But the file ends up at
build-aux\m4\ordexcoin_qt.m4(with backslash dir name) aclocalscansbuild-aux/m4/(forward slash) and finds only the oldbitcoin_qt.m4ORDEXCOIN_QT_INITis never defined →PKG_CHECK_MODULEScascade failure
Fix: Replaced z.extractall() with a custom Python helper that normalizes \ → / during extraction:
for name in z.namelist():
norm = name.replace('\\', '/')
dst = os.path.join(outdir, norm)
if norm.endswith('/'):
os.makedirs(dst, exist_ok=True)
else:
os.makedirs(os.path.dirname(dst), exist_ok=True)
data = z.read(name)
with open(dst, 'wb') as f:
f.write(data)util/system.cpp and util/system.h contain the constant BITCOIN_CONF_FILENAME which must produce ordexcoin.conf:
s/BITCOIN_CONF_FILENAME/ORDEXCOIN_CONF_FILENAME/g
s/\"bitcoin\.conf\"/\"ordexcoin\.conf\"/gThe default data directory is set via string literals in util/system.cpp. The bare-string patterns "/.bitcoin" and ".bitcoin" are replaced:
s|\"/\\.bitcoin\"|\"/\\.ordexcoin\"|g
s|\"\\.bitcoin\"|\"\\.ordexcoin\"|gGUI window title bars, splash screen, and about dialog use the application name string:
s/\"Bitcoin Core\"/\"OrdexCoin Core\"/g
s/\"Bitcoin\"/\"Ordexcoin\"/gApplied to Qt source files, translation files.
Source-level identifiers to match the fork namespace:
BitcoinUnits→OrdexCoinUnitsBitcoinAmountField→OrdexCoinAmountFieldBTC→OXC(ticker symbol)BITCOIN_URI_BEGIN→ORDEXCOIN_URI_BEGINbitcoin-util→ordexcoin-util(in help text)bitcoin-wallet→ordexcoin-wallet(in help text)
User-facing error messages referencing the bitcoind binary name:
s/\bbitcoind\b/ordexcoind/gThe zip overlay renames many files (e.g., bitcoin.cpp → ordexcoin.cpp) but does not create symlinks for files that other build targets expect. Created explicitly:
ln -sf ordexcoin.cpp src/bitcoin.cpp
# and similar for headers, Qt files, locale .ts filesTranslation .ts files were renamed to ordexcoin_*.ts but Qt's lupdate/lrelease searches for bitcoin_*.ts:
for f in src/qt/locale/ordexcoin_*.ts; do
base=$(basename "$f" | sed 's/ordexcoin/bitcoin/')
[ ! -e "src/qt/locale/$base" ] && ln -sf "$(basename "$f")" "src/qt/locale/$base"
doneThe magic string used for signed message verification was renamed from Bitcoin Signed Message:\n to Ordexcoin Signed Message:\n to prevent cross-chain signature reuse.
The zip file shipped a broken Makefile.qttest.include missing the ENABLE_TESTS conditional guard. Wrapped with:
if ENABLE_TESTS
... content ...
endifThe zip file lacks execute permissions on several scripts. Set explicitly:
chmod +x share/genbuild.sh
chmod +x depends/config.guess depends/config.sub depends/gen_idHelp text referencing bitcoin-node and bitcoin-cli in usage examples were updated to ordexcoin-node and ordexcoin-cli.
Both Linux and Windows binaries have been verified clean of user-facing branding residue:
strings ordexcoind | grep "\.bitcoin"— only the legitimate BIP URLen.bitcoin.itremainsstrings ordexcoind | grep "\bBITCOIND\b"— no matchesstrings ordexcoind | grep "bitcoin\.conf"— no matches
The only remaining bitcoin strings in the binary are legitimate protocol references (addresses, transactions, BIP specification URLs, and copyright attributions), which correctly describe the underlying Bitcoin protocol that OrdexCoin implements.
This software is based on Bitcoin Core v25.0. Original copyright by The Bitcoin Core developers. Modifications by OrdexNetwork developers.
Support on-going development and infrastructure costs.
- EVM: 0x6e8e3c2b31424266e7cff59e910df1587c317427 (USDT/USDC/EURC/ETH on any network)
- BTC: bc1qzzvcguvqjc6qhwe2y5vy38w2zke7hksukjhm68
- LTC: MPfm5QLKH1r9XxgWmH75Gyps4LDfX5c53L
- SOL: GGEaCMpnyM8tB5BU4RMuLm6tgMr3q9FgMHodxDxxAGby
- OXC: oxc1qcjav0mpjjvufc2zwfddnmep0janwv0czwk657e