TidecoinTIDECOIN
Explorer

Build on Tidecoin

Tidecoin is Bitcoin Core v30 with full-stack post-quantum cryptography. Five post-quantum signature schemes from NIST's PQC process (FIPS 204 finalized, Draft FIPS 206), ML-KEM-512 encrypted transport, PQHD wallet, and AuxPoW merged mining infrastructure — all implemented, tested, and open source under the MIT license.

// quick start

How do I build Tidecoin from source?

build.shbash
01$ git clone https://github.com/tidecoin/tidecoin.git
02$ cd tidecoin
03$ cmake -B build
04$ cmake --build build -j$(nproc)
05$
prerequisites
  • GCC ≥ 11.1 or Clang ≥ 16.0
  • CMake ≥ 3.22
  • Python 3
  • pkgconf / pkg-config
supported platforms
  • Linux Kernel 3.17+
  • macOS 13+
  • Windows 10+
  • FreeBSD · OpenBSD · NetBSD
optional

SQLite (wallet) · Qt6 + qrencode (GUI) · ZeroMQ (notifications) · Cap'n Proto (IPC)

// running

How do I run Tidecoin?

run.shbash
01# Start the daemon
02$ ./build/src/tidecoind
03 
04# Start with GUI
05$ ./build/src/qt/tidecoin-qt
06 
07# CLI interface
08$ ./build/src/tidecoin-cli getblockchaininfo
09$
binaries
  • tidecoindFull node daemon
  • tidecoin-qtGUI wallet (Qt 6)
  • tidecoin-cliRPC client
  • tidecoin-walletWallet utility
  • tidecoin-txTransaction utility
  • tidecoin-utilGeneral utility
// source architecture

How is the Tidecoin source code organized?

src/pq/falcon-512/Falcon-512 implementation13 files, PQClean constant-time
src/pq/falcon-1024/Falcon-1024 implementation13 files
src/pq/ml-dsa-{44,65,87}/ML-DSA implementations18 files each, FIPS 204
src/pq/ml-kem-512/ML-KEM-512 key encapsulation20 files, FIPS 203
src/pq/pq_scheme.hScheme registry5 schemes, prefix 0x07 — 0x0B
src/pq/pqhd_kdf.cppPQHD key derivationSHA-512 KDF, hardened-only
src/pq/pqhd_keygen.cppPQ keypair generationDeterministic from seed material
src/pq/kem.cppML-KEM C++ wrapperKeypair, encaps, decaps
src/crypto/yespower/YespowerTIDE PoWN=2048, r=8
src/auxpow.h/.cppAuxPoW merged miningChain ID 8, scrypt validation
src/wallet/pqhd.hPQHD wallet structuresSeed, encrypted seed, policy
src/kernel/chainparams.cppChain parametersGenesis, activation heights, HRPs
src/script/interpreter.cppScript engineOP_SHA512, witness v1, PQ strict
// rpc commands

What RPC commands are unique to Tidecoin?

// auxpow rpc (built, activates with auxpow)
tidecoin-cli.auxpowrpc
01$ tidecoin-cli createauxblock <address>
02# Create AuxPoW candidate block
03 
04$ tidecoin-cli submitauxblock <hash> <auxpow>
05# Submit solved AuxPoW
06 
07$ tidecoin-cli getauxblock
08# Wallet-assisted create / submit flow
// pqhd wallet rpc (live)
tidecoin-cli.pqhdrpc
01$ tidecoin-cli setpqhdpolicy <recv> <change>
02# Set default PQ scheme for new addresses
03 
04$ tidecoin-cli listpqhdseeds
05# List PQHD seeds tracked by wallet
06 
07$ tidecoin-cli importpqhdseed <seed_hex>
08# Import a 32-byte master seed
09 
10$ tidecoin-cli setpqhdseed <recv> [change]
11# Select default seed IDs
12 
13$ tidecoin-cli removepqhdseed <id>
14# Remove non-default seed

Accepted scheme names: falcon-512, falcon1024, mldsa44, mldsa65, mldsa87 (or numeric prefix byte).

// testing

How do I run Tidecoin tests?

run-tests.shbash
01# Unit tests
02$ ctest --test-dir build
03 
04# Functional tests
05$ build/test/functional/test_runner.py
06$
pq-specific tests
  • pqhd_kdf_tests — PQHD KDF derivation with test vectors
  • pqhd_keygen_tests — PQ keypair generation
  • pq_pubkey_container_tests — PQ pubkey serialization
  • pq_multisig_tests — Multi-signature with PQ schemes
  • bip324_pq_tests — ML-KEM V2 transport cipher
  • auxpow_tests — AuxPoW block validation
  • auxpow_mining.py — AuxPoW mining integration
  • wallet_pqhd_seed_lifecycle.py — PQHD seed management
  • wallet_pqhd_policy.py — PQHD scheme policy
  • feature_pq_script_assets.py — PQ script validation
test datasrc/test/data/script_tests_pq.json · tx_valid_pq.json · tx_invalid_pq.json
// contributing

How can I contribute to Tidecoin?

style rules
  • 4-space indentation, snake_case functions, CamelCase classes
  • PQ crypto in src/pq/ follows PQClean conventions
  • All new features must have unit and functional tests
  • Do not introduce floating-point arithmetic in crypto code
  • Do not add ECDSA / secp256k1 / Schnorr / Taproot code
security.mddisclosure
01# security disclosure
02 
03Do not open a public issue for vulnerabilities. Use GitHub's private vulnerability reporting or email falcon1024@protonmail.com (Proton Mail provides post-quantum encrypted email).
04 
05$ mailto: falcon1024@protonmail.com
06 
07# Response: acknowledgement within 48 hours, assessment within 7 days.
// dev faq

Developer FAQ

All FAQ

Tidecoin Developer Hub — Build on Post-Quantum Bitcoin Core v30