diff --git a/build-linux/src/.bear-tidy-config b/build-linux/src/.bear-tidy-config new file mode 120000 index 000000000..091643321 --- /dev/null +++ b/build-linux/src/.bear-tidy-config @@ -0,0 +1 @@ +../../src/.bear-tidy-config \ No newline at end of file diff --git a/build-linux/src/.clang-tidy b/build-linux/src/.clang-tidy new file mode 120000 index 000000000..2ff4a61f3 --- /dev/null +++ b/build-linux/src/.clang-tidy @@ -0,0 +1 @@ +../../src/.clang-tidy \ No newline at end of file diff --git a/build-linux/src/btq-cli b/build-linux/src/btq-cli new file mode 100755 index 000000000..dc3d24b7b Binary files /dev/null and b/build-linux/src/btq-cli differ diff --git a/build-linux/src/btq-tx b/build-linux/src/btq-tx new file mode 100755 index 000000000..db1d736c8 Binary files /dev/null and b/build-linux/src/btq-tx differ diff --git a/build-linux/src/btq-util b/build-linux/src/btq-util new file mode 100755 index 000000000..ca876d5b4 Binary files /dev/null and b/build-linux/src/btq-util differ diff --git a/build-linux/src/btq-wallet b/build-linux/src/btq-wallet new file mode 100755 index 000000000..3814f753e Binary files /dev/null and b/build-linux/src/btq-wallet differ diff --git a/build-linux/src/btqd b/build-linux/src/btqd new file mode 100755 index 000000000..d3f9f9200 Binary files /dev/null and b/build-linux/src/btqd differ diff --git a/build-linux/src/config/btq-config.h b/build-linux/src/config/btq-config.h new file mode 100644 index 000000000..7a18991e2 --- /dev/null +++ b/build-linux/src/config/btq-config.h @@ -0,0 +1,439 @@ +/* src/config/btq-config.h. Generated from btq-config.h.in by configure. */ +/* src/config/btq-config.h.in. Generated from configure.ac by autoheader. */ + +#ifndef BTQ_CONFIG_H + +#define BTQ_CONFIG_H + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Defined to avoid Boost::Process trying to use Boost Filesystem */ +#define BOOST_PROCESS_USE_STD_FS 1 + +/* Define this symbol if type char equals int8_t */ +/* #undef CHAR_EQUALS_INT8 */ + +/* Version Build */ +#define CLIENT_VERSION_BUILD 0 + +/* Version is release */ +#define CLIENT_VERSION_IS_RELEASE true + +/* Major version */ +#define CLIENT_VERSION_MAJOR 0 + +/* Minor version */ +#define CLIENT_VERSION_MINOR 1 + +/* Copyright holder(s) before %s replacement */ +#define COPYRIGHT_HOLDERS "The %s developers" + +/* Copyright holder(s) */ +#define COPYRIGHT_HOLDERS_FINAL "The BTQ Core developers" + +/* Replacement for %s in copyright holders string */ +#define COPYRIGHT_HOLDERS_SUBSTITUTION "BTQ Core" + +/* Copyright year */ +#define COPYRIGHT_YEAR 2025 + +/* Define this symbol to build code that uses ARMv8 SHA-NI intrinsics */ +/* #undef ENABLE_ARM_SHANI */ + +/* Define this symbol to build code that uses AVX2 intrinsics */ +#define ENABLE_AVX2 1 + +/* Define if external signer support is enabled */ +#define ENABLE_EXTERNAL_SIGNER 1 + +/* Define this symbol to build code that uses SSE4.1 intrinsics */ +#define ENABLE_SSE41 1 + +/* Define to 1 to enable tracepoints for Userspace, Statically Defined Tracing + */ +#define ENABLE_TRACING 1 + +/* Define to 1 to enable wallet functions */ +#define ENABLE_WALLET 1 + +/* Define this symbol to build code that uses x86 SHA-NI intrinsics */ +#define ENABLE_X86_SHANI 1 + +/* Define this symbol to enable ZMQ functions */ +#define ENABLE_ZMQ 1 + +/* define if the Boost library is available */ +#define HAVE_BOOST /**/ + +/* Define this symbol if you have __builtin_clzl */ +#define HAVE_BUILTIN_CLZL 1 + +/* Define this symbol if you have __builtin_clzll */ +#define HAVE_BUILTIN_CLZLL 1 + +/* Define if you have a working __builtin_mul_overflow */ +#define HAVE_BUILTIN_MUL_OVERFLOW 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_BYTESWAP_H 1 + +/* Define this symbol if clmul instructions can be used */ +#define HAVE_CLMUL 1 + +/* Define this symbol if the consensus lib has been built */ +#define HAVE_CONSENSUS_LIB 1 + +/* define if the compiler supports basic C++17 syntax */ +#define HAVE_CXX17 1 + +/* define if the compiler supports basic C++20 syntax */ +/* #undef HAVE_CXX20 */ + +/* Define to 1 if you have the declaration of `be16toh', and to 0 if you + don't. */ +#define HAVE_DECL_BE16TOH 1 + +/* Define to 1 if you have the declaration of `be32toh', and to 0 if you + don't. */ +#define HAVE_DECL_BE32TOH 1 + +/* Define to 1 if you have the declaration of `be64toh', and to 0 if you + don't. */ +#define HAVE_DECL_BE64TOH 1 + +/* Define to 1 if you have the declaration of `bswap_16', and to 0 if you + don't. */ +#define HAVE_DECL_BSWAP_16 1 + +/* Define to 1 if you have the declaration of `bswap_32', and to 0 if you + don't. */ +#define HAVE_DECL_BSWAP_32 1 + +/* Define to 1 if you have the declaration of `bswap_64', and to 0 if you + don't. */ +#define HAVE_DECL_BSWAP_64 1 + +/* Define to 1 if you have the declaration of `fork', and to 0 if you don't. + */ +#define HAVE_DECL_FORK 1 + +/* Define to 1 if you have the declaration of `freeifaddrs', and to 0 if you + don't. */ +#define HAVE_DECL_FREEIFADDRS 1 + +/* Define to 1 if you have the declaration of `getifaddrs', and to 0 if you + don't. */ +#define HAVE_DECL_GETIFADDRS 1 + +/* Define to 1 if you have the declaration of `htobe16', and to 0 if you + don't. */ +#define HAVE_DECL_HTOBE16 1 + +/* Define to 1 if you have the declaration of `htobe32', and to 0 if you + don't. */ +#define HAVE_DECL_HTOBE32 1 + +/* Define to 1 if you have the declaration of `htobe64', and to 0 if you + don't. */ +#define HAVE_DECL_HTOBE64 1 + +/* Define to 1 if you have the declaration of `htole16', and to 0 if you + don't. */ +#define HAVE_DECL_HTOLE16 1 + +/* Define to 1 if you have the declaration of `htole32', and to 0 if you + don't. */ +#define HAVE_DECL_HTOLE32 1 + +/* Define to 1 if you have the declaration of `htole64', and to 0 if you + don't. */ +#define HAVE_DECL_HTOLE64 1 + +/* Define to 1 if you have the declaration of `le16toh', and to 0 if you + don't. */ +#define HAVE_DECL_LE16TOH 1 + +/* Define to 1 if you have the declaration of `le32toh', and to 0 if you + don't. */ +#define HAVE_DECL_LE32TOH 1 + +/* Define to 1 if you have the declaration of `le64toh', and to 0 if you + don't. */ +#define HAVE_DECL_LE64TOH 1 + +/* Define to 1 if you have the declaration of `pipe2', and to 0 if you don't. + */ +#define HAVE_DECL_PIPE2 1 + +/* Define to 1 if you have the declaration of `setsid', and to 0 if you don't. + */ +#define HAVE_DECL_SETSID 1 + +/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you + don't. */ +#define HAVE_DECL_STRERROR_R 1 + +/* Define if the visibility attribute is supported. */ +#define HAVE_DEFAULT_VISIBILITY_ATTRIBUTE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if the dllexport attribute is supported. */ +/* #undef HAVE_DLLEXPORT_ATTRIBUTE */ + +/* Define to 1 if you have the header file. */ +#define HAVE_ENDIAN_H 1 + +/* Define this symbol if evhttp_connection_get_peer expects const char** */ +/* #undef HAVE_EVHTTP_CONNECTION_GET_PEER_CONST_CHAR */ + +/* Define to 1 if fdatasync is available. */ +#define HAVE_FDATASYNC 1 + +/* Define this symbol if the BSD getentropy system call is available with + sys/random.h */ +#define HAVE_GETENTROPY_RAND 1 + +/* Define this symbol if the Linux getrandom function call is available */ +#define HAVE_GETRANDOM 1 + +/* Define this symbol if gmtime_r is available */ +#define HAVE_GMTIME_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `advapi32' library (-ladvapi32). */ +/* #undef HAVE_LIBADVAPI32 */ + +/* Define to 1 if you have the `comctl32' library (-lcomctl32). */ +/* #undef HAVE_LIBCOMCTL32 */ + +/* Define to 1 if you have the `comdlg32' library (-lcomdlg32). */ +/* #undef HAVE_LIBCOMDLG32 */ + +/* Define to 1 if you have the `gdi32' library (-lgdi32). */ +/* #undef HAVE_LIBGDI32 */ + +/* Define to 1 if you have the `iphlpapi' library (-liphlpapi). */ +/* #undef HAVE_LIBIPHLPAPI */ + +/* Define to 1 if you have the `kernel32' library (-lkernel32). */ +/* #undef HAVE_LIBKERNEL32 */ + +/* Define to 1 if you have the `ole32' library (-lole32). */ +/* #undef HAVE_LIBOLE32 */ + +/* Define to 1 if you have the `oleaut32' library (-loleaut32). */ +/* #undef HAVE_LIBOLEAUT32 */ + +/* Define to 1 if you have the `shell32' library (-lshell32). */ +/* #undef HAVE_LIBSHELL32 */ + +/* Define to 1 if you have the `shlwapi' library (-lshlwapi). */ +/* #undef HAVE_LIBSHLWAPI */ + +/* Define to 1 if you have the `ssp' library (-lssp). */ +/* #undef HAVE_LIBSSP */ + +/* Define to 1 if you have the `user32' library (-luser32). */ +/* #undef HAVE_LIBUSER32 */ + +/* Define to 1 if you have the `uuid' library (-luuid). */ +/* #undef HAVE_LIBUUID */ + +/* Define to 1 if you have the `winmm' library (-lwinmm). */ +/* #undef HAVE_LIBWINMM */ + +/* Define to 1 if you have the `ws2_32' library (-lws2_32). */ +/* #undef HAVE_LIBWS2_32 */ + +/* Define this symbol if you have malloc_info */ +#define HAVE_MALLOC_INFO 1 + +/* Define this symbol if you have mallopt with M_ARENA_MAX */ +#define HAVE_MALLOPT_ARENA_MAX 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MINIUPNPC_MINIUPNPC_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MINIUPNPC_UPNPCOMMANDS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MINIUPNPC_UPNPERRORS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_NATPMP_H 1 + +/* Define to 1 if O_CLOEXEC flag is available. */ +#define HAVE_O_CLOEXEC 1 + +/* Define this symbol if you have posix_fallocate */ +#define HAVE_POSIX_FALLOCATE 1 + +/* Define if you have POSIX threads libraries and header files. */ +#define HAVE_PTHREAD 1 + +/* Have PTHREAD_PRIO_INHERIT. */ +#define HAVE_PTHREAD_PRIO_INHERIT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define if you have `strerror_r'. */ +#define HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define this symbol to build code that uses getauxval) */ +#define HAVE_STRONG_GETAUXVAL 1 + +/* Define this symbol if the BSD sysctl() is available */ +/* #undef HAVE_SYSCTL */ + +/* Define this symbol if the BSD sysctl(KERN_ARND) is available */ +/* #undef HAVE_SYSCTL_ARND */ + +/* Define to 1 if std::system or ::wsystem is available. */ +#define HAVE_SYSTEM 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_ENDIAN_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PRCTL_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_RESOURCES_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SELECT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSCTL_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_VMMETER_H */ + +/* Define if thread_local is supported. */ +#define HAVE_THREAD_LOCAL 1 + +/* Define to 1 if you have the `timingsafe_bcmp' function. */ +/* #undef HAVE_TIMINGSAFE_BCMP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VM_VM_PARAM_H */ + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#define LT_OBJDIR ".libs/" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "https://github.com/btq/btq/issues" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "BTQ Core" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "BTQ Core 0.1.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "btq" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "https://btqcore.org/" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "0.1.0" + +/* Define to necessary symbol if this constant uses a non-standard name on + your system. */ +/* #undef PTHREAD_CREATE_JOINABLE */ + +/* Define this symbol if the qt platform is android */ +/* #undef QT_QPA_PLATFORM_ANDROID */ + +/* Define this symbol if the qt platform is cocoa */ +/* #undef QT_QPA_PLATFORM_COCOA */ + +/* Define this symbol if the minimal qt platform exists */ +/* #undef QT_QPA_PLATFORM_MINIMAL */ + +/* Define this symbol if the qt platform is windows */ +/* #undef QT_QPA_PLATFORM_WINDOWS */ + +/* Define this symbol if the qt platform is xcb */ +/* #undef QT_QPA_PLATFORM_XCB */ + +/* Define this symbol if qt plugins are static */ +/* #undef QT_STATICPLUGIN */ + +/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ +#define STDC_HEADERS 1 + +/* Define to 1 if strerror_r returns char *. */ +#define STRERROR_R_CHAR_P 1 + +/* Define this symbol to build in assembly routines */ +#define USE_ASM 1 + +/* Define if BDB support should be compiled in */ +#define USE_BDB 1 + +/* Define if dbus support should be compiled in */ +/* #undef USE_DBUS */ + +/* Define to 1 if UPnP support should be compiled in. */ +#define USE_NATPMP 1 + +/* Define if QR support should be compiled in */ +/* #undef USE_QRCODE */ + +/* Define if sqlite support should be compiled in */ +#define USE_SQLITE 1 + +/* Define to 1 if UPnP support should be compiled in. */ +#define USE_UPNP 1 + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Number of bits in a file offset, on hosts where this is settable. */ +/* #undef _FILE_OFFSET_BITS */ + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +#endif //BTQ_CONFIG_H diff --git a/build-linux/src/config/stamp-h1 b/build-linux/src/config/stamp-h1 new file mode 100644 index 000000000..d6cd8e144 --- /dev/null +++ b/build-linux/src/config/stamp-h1 @@ -0,0 +1 @@ +timestamp for src/config/btq-config.h diff --git a/build-linux/src/obj/build.h b/build-linux/src/obj/build.h new file mode 100644 index 000000000..1c611aacd --- /dev/null +++ b/build-linux/src/obj/build.h @@ -0,0 +1 @@ +#define BUILD_GIT_COMMIT "91ef643d26e9-dirty" diff --git a/build-linux/src/secp256k1/libsecp256k1.pc b/build-linux/src/secp256k1/libsecp256k1.pc new file mode 100644 index 000000000..82e3a0d7b --- /dev/null +++ b/build-linux/src/secp256k1/libsecp256k1.pc @@ -0,0 +1,12 @@ +prefix=/ +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: libsecp256k1 +Description: Optimized C library for EC operations on curve secp256k1 +URL: https://github.com/btq-core/secp256k1 +Version: 0.4.0 +Cflags: -I${includedir} +Libs: -L${libdir} -lsecp256k1 + diff --git a/build-linux/src/test/fuzz/fuzz b/build-linux/src/test/fuzz/fuzz new file mode 100755 index 000000000..f1499ea74 Binary files /dev/null and b/build-linux/src/test/fuzz/fuzz differ diff --git a/src/kernel/chainparams.cpp b/src/kernel/chainparams.cpp index d12187fc2..bf7efed06 100644 --- a/src/kernel/chainparams.cpp +++ b/src/kernel/chainparams.cpp @@ -58,7 +58,7 @@ static CBlock CreateGenesisBlock(const char* pszTimestamp, const CScript& genesi */ static CBlock CreateGenesisBlock(uint32_t nTime, uint32_t nNonce, uint32_t nBits, int32_t nVersion, const CAmount& genesisReward) { - const char* pszTimestamp = "Quantum is here - calcalistech.com/rkb3zkze11e 31/12/25"; + const char* pszTimestamp = "To freeze or not to freeze: Satoshi and the $440 billion in bitcoin threatened by quantum computing - coindesk.com 23/Feb/2026"; const CScript genesisOutputScript = CScript() << ParseHex("04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f") << OP_CHECKSIG; return CreateGenesisBlock(pszTimestamp, genesisOutputScript, nTime, nNonce, nBits, nVersion, genesisReward); } @@ -127,15 +127,15 @@ class CMainParams : public CChainParams { m_assumed_chain_state_size = 0; // BTQ: Create BTQ genesis block with custom timestamp - genesis = CreateGenesisBlock(1704067200, 194445, 0x1f00ffff, 1, 5 * COIN); //TODO change timestamp to actual deployment time + genesis = CreateGenesisBlock(1771804800, 170574, 0x1f00ffff, 1, 5 * COIN); //MineGenesisBlock(genesis); consensus.hashGenesisBlock = genesis.GetHash(); - assert(consensus.hashGenesisBlock == uint256S("0x0000630a5e65a4bdeb8ad46b1c659de7917c6b75a8c15a997cd10c0260e8f038")); - assert(genesis.hashMerkleRoot == uint256S("0xc8d6a9eb714de74c9eff54ad5818da2a8afd11703a30202c227ac6974f728511")); + assert(consensus.hashGenesisBlock == uint256S("0x0000cc522ce12fe2ed0f73294ad9cd2eb92b6aaab45650c625181c797b606917")); + assert(genesis.hashMerkleRoot == uint256S("0x5098822d0c85a1a40f209911c11e4e1a598092641369cfb5ef51671d5d2bea82")); - // BTQ: Add BTQ seed nodes - vSeeds.emplace_back("13.53.68.231"); + // BTQ: Add BTQ seed nodes (replace with actual DNS seeds) vSeeds.emplace_back("seed1.btq.com"); + //vSeeds.emplace_back("TODO: MORE SEED NODES"); // BTQ: Custom Base58 prefixes for BTQ addresses base58Prefixes[PUBKEY_ADDRESS] = std::vector(1,75); // BTQ: B... addresses (25 = 'B') @@ -167,7 +167,7 @@ class CMainParams : public CChainParams { chainTxData = ChainTxData{ // BTQ: Initial chain data - will be changed once we deploy mainnet - .nTime = 1704067200, // Jan 1, 2024 + .nTime = 1771804800, // Feb 23, 2026 .nTxCount = 1, // Genesis transaction .dTxRate = 0.0, // No transactions yet }; @@ -236,13 +236,13 @@ class CTestNetParams : public CChainParams { m_assumed_chain_state_size = 0; // BTQ: Create BTQ testnet genesis block with mined values - const char* pszTimestamp = "Quantum is here - calcalistech.com/rkb3zkze11e 31/12/25"; + const char* pszTimestamp = "To freeze or not to freeze: Satoshi and the $440 billion in bitcoin threatened by quantum computing - coindesk.com 23/Feb/2026"; const CScript genesisOutputScript = CScript() << ParseHex("04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f") << OP_CHECKSIG; - genesis = CreateGenesisBlock(pszTimestamp, genesisOutputScript, 1738540800, 0, 0x207fffff, 1, 5 * COIN); + genesis = CreateGenesisBlock(pszTimestamp, genesisOutputScript, 1771804800, 3, 0x207fffff, 1, 5 * COIN); //MineGenesisBlock(genesis); consensus.hashGenesisBlock = genesis.GetHash(); - assert(consensus.hashGenesisBlock == uint256S("0x1bac0760b85ab8c6e58d5e830c589b8203765e3f03cf886caec17cba5441fb4b")); - assert(genesis.hashMerkleRoot == uint256S("0xc8d6a9eb714de74c9eff54ad5818da2a8afd11703a30202c227ac6974f728511")); + assert(consensus.hashGenesisBlock == uint256S("0x66e9653658f21f700cec5c07713c3721e07bf0ba7e4983cfee872b2fd09c1465")); + assert(genesis.hashMerkleRoot == uint256S("0x5098822d0c85a1a40f209911c11e4e1a598092641369cfb5ef51671d5d2bea82")); vFixedSeeds.clear(); vSeeds.clear(); @@ -279,7 +279,7 @@ class CTestNetParams : public CChainParams { chainTxData = ChainTxData{ // BTQ: Initial testnet chain data - .nTime = 1704067200, // Jan 1, 2024 + .nTime = 1771804800, // Feb 23, 2026 .nTxCount = 1, // Genesis transaction .dTxRate = 0.0, // No transactions yet }; @@ -310,7 +310,7 @@ class SigNetParams : public CChainParams { m_assumed_blockchain_size = 0; m_assumed_chain_state_size = 0; chainTxData = ChainTxData{ - 1704067200, // Jan 1, 2024 + 1771804800, // Feb 23, 2026 1, // Genesis transaction 0.0, // No transactions yet }; @@ -380,13 +380,13 @@ class SigNetParams : public CChainParams { nPruneAfterHeight = 1000; // BTQ: Create BTQ SigNet genesis block - const char* pszTimestamp = "Quantum is here - calcalistech.com/rkb3zkze11e 31/12/25"; + const char* pszTimestamp = "To freeze or not to freeze: Satoshi and the $440 billion in bitcoin threatened by quantum computing - coindesk.com 23/Feb/2026"; const CScript genesisOutputScript = CScript() << ParseHex("04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f") << OP_CHECKSIG; - genesis = CreateGenesisBlock(pszTimestamp, genesisOutputScript, 1704067200, 12871552, 0x1e0377ae, 1, 5 * COIN); + genesis = CreateGenesisBlock(pszTimestamp, genesisOutputScript, 1771804800, 148573, 0x1e0377ae, 1, 5 * COIN); //MineGenesisBlock(genesis); consensus.hashGenesisBlock = genesis.GetHash(); - assert(consensus.hashGenesisBlock == uint256S("0x0000023375058c22d1702928d6f02be61902cc6cd4b15ef5b39b7c4165745aba")); - assert(genesis.hashMerkleRoot == uint256S("0xc8d6a9eb714de74c9eff54ad5818da2a8afd11703a30202c227ac6974f728511")); + assert(consensus.hashGenesisBlock == uint256S("0x000002c99c9f021e0947ea6f461354cf60554ca0fca01818bf59ebe4b352538e")); + assert(genesis.hashMerkleRoot == uint256S("0x5098822d0c85a1a40f209911c11e4e1a598092641369cfb5ef51671d5d2bea82")); vFixedSeeds.clear(); @@ -499,13 +499,13 @@ class CRegTestParams : public CChainParams } // BTQ: Create BTQ regtest genesis block with mined values - const char* pszTimestamp = "Quantum is here - calcalistech.com/rkb3zkze11e 31/12/25"; + const char* pszTimestamp = "To freeze or not to freeze: Satoshi and the $440 billion in bitcoin threatened by quantum computing - coindesk.com 23/Feb/2026"; const CScript genesisOutputScript = CScript() << ParseHex("04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f") << OP_CHECKSIG; - genesis = CreateGenesisBlock(pszTimestamp, genesisOutputScript, 1738540800, 0, 0x207fffff, 1, 5 * COIN); + genesis = CreateGenesisBlock(pszTimestamp, genesisOutputScript, 1771804800, 3, 0x207fffff, 1, 5 * COIN); //MineGenesisBlock(genesis); consensus.hashGenesisBlock = genesis.GetHash(); - assert(consensus.hashGenesisBlock == uint256S("0x1bac0760b85ab8c6e58d5e830c589b8203765e3f03cf886caec17cba5441fb4b")); - assert(genesis.hashMerkleRoot == uint256S("0xc8d6a9eb714de74c9eff54ad5818da2a8afd11703a30202c227ac6974f728511")); + assert(consensus.hashGenesisBlock == uint256S("0x66e9653658f21f700cec5c07713c3721e07bf0ba7e4983cfee872b2fd09c1465")); + assert(genesis.hashMerkleRoot == uint256S("0x5098822d0c85a1a40f209911c11e4e1a598092641369cfb5ef51671d5d2bea82")); vFixedSeeds.clear(); //!< Regtest mode doesn't have any fixed seeds. vSeeds.clear();