upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
authorbitflash-maintainer <noreply@bitflash.invalid>2026-09-03 21:49:35 +0000
committerbitflash-maintainer <noreply@bitflash.invalid>2026-09-03 21:49:35 +0000
commit424da766b76ba572cc9a93c4dd03736dace04d80 (patch)
tree899f6ceec730bd5e1305f1c8e59ce13e21cfb048 /src/main.cpp
parent3c18a66ef601d90f08ea622021cb02bafab1601b (diff)
parente63fcfff1ae24dfff8aca6581badb51a06ddae28 (diff)
merge: !10 fix/small-fixes into deploy/all-2026-08-24
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp27
1 files changed, 25 insertions, 2 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 981509c..dded83a 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -2679,7 +2679,18 @@ bool LoadBlockIndex(bool fAllowNew)
2679 // CTxOut(nValue=50.00000000, scriptPubKey=0x5F1DF16B2B704C8A578D0B) 2679 // CTxOut(nValue=50.00000000, scriptPubKey=0x5F1DF16B2B704C8A578D0B)
2680 // vMerkleTree: 4a5e1e 2680 // vMerkleTree: 4a5e1e
2681 2681
2682 // Bitflash genesis block -- own header (fair launch, 2026 stable relaunch) 2682 // Bitflash genesis block -- own header (fair launch)
2683 //
2684 // Do not change pszTimestamp, the scriptPubKey, nTime or nNonce. They
2685 // are the inputs to the genesis hash, and the genesis hash is
2686 // consensus. Changing one on its own trips the assert below, which is
2687 // loud and reverts cleanly; changing one and regenerating
2688 // GENESIS_NONCE and hashGenesisBlock to match -- which is exactly what
2689 // the re-mining branch below prints out and invites -- gives a node
2690 // that starts without complaint, builds its own chain from height 0,
2691 // and rejects every real peer as being on a different chain. That one
2692 // fails silently, and the damage scales with how many people run the
2693 // "fixed" build.
2683 char* pszTimestamp = "Bitflash 24/Jul/2026 Fair launch: one CPU one vote, no premine"; 2694 char* pszTimestamp = "Bitflash 24/Jul/2026 Fair launch: one CPU one vote, no premine";
2684 CTransaction txNew; 2695 CTransaction txNew;
2685 txNew.vin.resize(1); 2696 txNew.vin.resize(1);
@@ -2692,7 +2703,14 @@ bool LoadBlockIndex(bool fAllowNew)
2692 block.hashPrevBlock = 0; 2703 block.hashPrevBlock = 0;
2693 block.hashMerkleRoot = block.BuildMerkleTree(); 2704 block.hashMerkleRoot = block.BuildMerkleTree();
2694 block.nVersion = 1; 2705 block.nVersion = 1;
2695 block.nTime = 1753315200; // 2026-07-24 00:00:00 UTC (stable relaunch) 2706 // 1753315200 is 2025-07-24T00:00:00Z. The headline in pszTimestamp
2707 // above reads 2026 and does not match it. This is a known discrepancy
2708 // and not a typo in the constant: the value is only consensus-critical
2709 // as an input to the genesis hash, the block hashes to
2710 // hashGenesisBlock with it, and every node on the network agrees. The
2711 // mismatch is in the launched chain and cannot be corrected -- see the
2712 // warning above before deciding otherwise.
2713 block.nTime = 1753315200;
2696 block.nBits = 0x1f0fffff; // = bnProofOfWorkLimit (Bitflash RandomX floor) 2714 block.nBits = 0x1f0fffff; // = bnProofOfWorkLimit (Bitflash RandomX floor)
2697 block.nNonce = GENESIS_NONCE; 2715 block.nNonce = GENESIS_NONCE;
2698 2716
@@ -2719,6 +2737,11 @@ bool LoadBlockIndex(bool fAllowNew)
2719 printf("powhash = %s\n", block.GetPoWHash().ToString().c_str()); 2737 printf("powhash = %s\n", block.GetPoWHash().ToString().c_str());
2720 printf("hash = %s\n", block.GetHash().ToString().c_str()); 2738 printf("hash = %s\n", block.GetHash().ToString().c_str());
2721 printf("merkle = %s\n", block.hashMerkleRoot.ToString().c_str()); 2739 printf("merkle = %s\n", block.hashMerkleRoot.ToString().c_str());
2740 printf("----------------------------------------\n");
2741 printf("These constants bring up a NEW chain. Do not paste them\n");
2742 printf("into a build for this network to make an edited nTime or\n");
2743 printf("pszTimestamp fit -- a node whose genesis differs starts\n");
2744 printf("cleanly on a chain of its own and rejects every real peer.\n");
2722 printf("========================================\n"); 2745 printf("========================================\n");
2723 } 2746 }
2724 2747