<p>It's in form of</p>

<pre><code>{block_height, uint256S("0xblock_hash")},
</code></pre>

<p>For example,</p>

<pre><code>{134444, uint256S("0x00000000000005b12ffd4cd315cd34ffd4a594f430ac814c91184a0d42d2b0fe")},
</code></pre>

<p>If you search for "00000000000005b12ffd4cd315cd34ffd4a594f430ac814c91184a0d42d2b0fe", that block's hash on Blockchair,
you'll find the block with the height <code>134444</code>.</p>

<p>Simple, huh?</p>

<p><strong>EDIT</strong>: Your edit is partly corrected. Note that when you add a checkpoint, you don't hardcode the block into the client. When a user opens it for the first time, they'll download all blocks starting with the first block. Checkpoints allow the clients to verify if someone who created his/her block chain completely different than the main chain is sending you the fake chain. The clients do download the whole chain and verify the blocks with checkpoints (also see: <code>assumevalid</code>)</p>

CC BY-SA 3.0
2018-04-11T18:37:07.657Z
yes very simple, I edit my question, can please confirm what i said make sense? thank you for you time
chico lima
CC BY-SA 3.0
2018-04-11T17:15:03.373Z
2018-04-12T13:28:58.213Z
2018-04-12T13:28:58.213Z
MCCCS
<p>I know Checkpoints are old blocks hardcoded into the source: <a href="https://bitcoin.stackexchange.com/questions/1797/what-are-checkpoints">What are checkpoints?</a></p>

<pre><code>{11111, uint256S("0x0000000069e244f73d78e8fd29ba2fd2ed618bd6fa2ee92559f542fdb26e7c1d")},
{33333, uint256S("0x000000002dd5588a74784eaa7ab0507a18ad16a236e7b1ce69f00d7ddfb5d0a6")},
{74000, uint256S("0x0000000000573993a3c9e41ce34471c079dcf5f52a0e824a81e7f953b8661a20")},
{105000, uint256S("0x00000000000291ce28027faea320c8d2b054b2e0fe44a773f3eefb151d6bdc97")},
{134444, uint256S("0x00000000000005b12ffd4cd315cd34ffd4a594f430ac814c91184a0d42d2b0fe")},
{168000, uint256S("0x000000000000099e61ea72015e79632f216fe6cb33d7899acb35b75c8303b763")},
{193000, uint256S("0x000000000000059f452a5f7340de6682a977387c17010ff6e6c3bd83ca8b1317")},
{210000, uint256S("0x000000000000048b95347e83192f69cf0366076336c639f9b7228e9ba171342e")},
{216116, uint256S("0x00000000000001b4f4b433e81ee46494af945cf96014816a4e2370f11b23df4e")},
{225430, uint256S("0x00000000000001c108384350f74090433e7fcf79a606b8e797f065b130575932")},
{250000, uint256S("0x000000000000003887df1f29024b06fc2200b55f8af8f35453d7be294df2d214")},
{279000, uint256S("0x0000000000000001ae8c72a0b0c301f67e3afca10e819efa9041e458e9bd7e40")},
{295000, uint256S("0x00000000000000004d9b4ef50f0f9d686fd69db2e03af35a100370c64632a983")},
</code></pre>

<p>these are blocks mined by the chain right?</p>

<p>how can I get these blocks and insert in my next build?</p>

<p>what these number are?  11111, 33333, 74000</p>

<p>so let me understand I insert this checkpoints and rebuild the app again?</p>

<p>so if i insert 10 checkpoints the blockchain will start with 10 blocks mined right?</p>

<p>how can I get theses blocks hash?</p>

<p><strong>edit:</strong></p>

<p>New Proof-of-Work block found</p>

<pre><code> Block hash: 00000bbbcb87a6d709ec944f6bdccdc41a59240d27ba3bbb759ef933c93bc890
     Target: 00007fffff000000000000000000000000000000000000000000000000000000

CBlock(hash=00000bbbcb87a6d709ec, ver=1, hashPrevBlock=00000d7e8a80fec4057c, hashMerkleRoot=c5912b6765, nTime=1523401728, nBits=1e7fffff, nNonce=84537, vtx=1, vchBlockSig=3045022054f16ce64dbc74934f59bef40cc20d08d9a01ac7b43308f6aeecb9321eff56ac022100c96e1b59a7b7d4c6b2436b34f6559d24b2997fc77d7a64588b20997aa632eeb6)
CBlock General PoB(nBurnBits=1f00ffff nEffectiveBurnCoins=0 (formatted 0.00))
  Coinbase(hash=c5912b6765, nTime=1523401728, ver=1, vin.size=1, vout.size=1, nLockTime=0)
    CTxIn(COutPoint(0000000000000000000000000000000000000000000000000000000000000000, -1), coinbase 040044cd5a0101062f503253482f)
    CTxOut(nValue=42.04, scriptPubKey=0325fa33db34946070c7efb69e8fdfa74b9174e3abc2ec4232926bdf47725ac377 OP_CHECKSIG)
  vMerkleTree: c5912b6765 
2018-04-10 23:08:48 UTC generated 42.04
AddToWallet c5912b6765  new
SetBestChain: new best=00000bbbcb87a6d709ec  height=1  trust=2  moneysupply=42.04 nEffectiveBurnCoins=0.00
ProcessBlock: ACCEPTED
Running  with 1 transaction in block
</code></pre>

<p>in my case I supose mine the coins manually, get the heigh and hash and insert in the checkpoints and rebuild the wallet right? so the wallet starts with a certain o blocks mined right?</p>

<p>so giving that info about will be like that?:</p>

<pre><code>{1, uint256S("0x00000bbbcb87a6d709ec944f6bdccdc41a59240d27ba3bbb759ef933c93bc890")},
</code></pre>

<bitcoin-core><bitcoind><bitcoin-core-development><altcoin-development>
how to insert new checkpoints in a bitcoin clone
chico lima
# how to insert new checkpoints in a bitcoin clone

(Asked by: username_0 on 2018-04-11)

I know Checkpoints are old blocks hardcoded into the source: [What are checkpoints?](https://bitcoin.stackexchange.com/questions/1797/what-are-checkpoints)

```
{11111, uint256S("0x0000000069e244f73d78e8fd29ba2fd2ed618bd6fa2ee92559f542fdb26e7c1d")},
{33333, uint256S("0x000000002dd5588a74784eaa7ab0507a18ad16a236e7b1ce69f00d7ddfb5d0a6")},
{74000, uint256S("0x0000000000573993a3c9e41ce34471c079dcf5f52a0e824a81e7f953b8661a20")},
{105000, uint256S("0x00000000000291ce28027faea320c8d2b054b2e0fe44a773f3eefb151d6bdc97")},
{134444, uint256S("0x00000000000005b12ffd4cd315cd34ffd4a594f430ac814c91184a0d42d2b0fe")},
{168000, uint256S("0x000000000000099e61ea72015e79632f216fe6cb33d7899acb35b75c8303b763")},
{193000, uint256S("0x000000000000059f452a5f7340de6682a977387c17010ff6e6c3bd83ca8b1317")},
{210000, uint256S("0x000000000000048b95347e83192f69cf0366076336c639f9b7228e9ba171342e")},
{216116, uint256S("0x00000000000001b4f4b433e81ee46494af945cf96014816a4e2370f11b23df4e")},
{225430, uint256S("0x00000000000001c108384350f74090433e7fcf79a606b8e797f065b130575932")},
{250000, uint256S("0x000000000000003887df1f29024b06fc2200b55f8af8f35453d7be294df2d214")},
{279000, uint256S("0x0000000000000001ae8c72a0b0c301f67e3afca10e819efa9041e458e9bd7e40")},
{295000, uint256S("0x00000000000000004d9b4ef50f0f9d686fd69db2e03af35a100370c64632a983")},

```

these are blocks mined by the chain right?

how can I get these blocks and insert in my next build?

what these number are? 11111, 33333, 74000

so let me understand I insert this checkpoints and rebuild the app again?

so if i insert 10 checkpoints the blockchain will start with 10 blocks mined right?

how can I get theses blocks hash?

**edit:**

New Proof-of-Work block found

```
 Block hash: 00000bbbcb87a6d709ec944f6bdccdc41a59240d27ba3bbb759ef933c93bc890
     Target: 00007fffff000000000000000000000000000000000000000000000000000000

CBlock(hash=00000bbbcb87a6d709ec, ver=1, hashPrevBlock=00000d7e8a80fec4057c, hashMerkleRoot=c5912b6765, nTime=1523401728, nBits=1e7fffff, nNonce=84537, vtx=1, vchBlockSig=3045022054f16ce64dbc74934f59bef40cc20d08d9a01ac7b43308f6aeecb9321eff56ac022100c96e1b59a7b7d4c6b2436b34f6559d24b2997fc77d7a64588b20997aa632eeb6)
CBlock General PoB(nBurnBits=1f00ffff nEffectiveBurnCoins=0 (formatted 0.00))
  Coinbase(hash=c5912b6765, nTime=1523401728, ver=1, vin.size=1, vout.size=1, nLockTime=0)
    CTxIn(COutPoint(0000000000000000000000000000000000000000000000000000000000000000, -1), coinbase 040044cd5a0101062f503253482f)
    CTxOut(nValue=42.04, scriptPubKey=0325fa33db34946070c7efb69e8fdfa74b9174e3abc2ec4232926bdf47725ac377 OP_CHECKSIG)
  vMerkleTree: c5912b6765 
2018-04-10 23:08:48 UTC generated 42.04
AddToWallet c5912b6765  new
SetBestChain: new best=00000bbbcb87a6d709ec  height=1  trust=2  moneysupply=42.04 nEffectiveBurnCoins=0.00
ProcessBlock: ACCEPTED
Running  with 1 transaction in block

```

in my case I supose mine the coins manually, get the heigh and hash and insert in the checkpoints and rebuild the wallet right? so the wallet starts with a certain o blocks mined right?

so giving that info about will be like that?:

```
{1, uint256S("0x00000bbbcb87a6d709ec944f6bdccdc41a59240d27ba3bbb759ef933c93bc890")},

```

**Tags:** bitcoin-core, bitcoind, bitcoin-core-development, altcoin-development


---

## 1 answers

### Answer by username_1 on 2018-04-11. Score: 1

It's in form of

```
{block_height, uint256S("0xblock_hash")},

```

For example,

```
{134444, uint256S("0x00000000000005b12ffd4cd315cd34ffd4a594f430ac814c91184a0d42d2b0fe")},

```

If you search for "00000000000005b12ffd4cd315cd34ffd4a594f430ac814c91184a0d42d2b0fe", that block's hash on Blockchair,
you'll find the block with the height `134444`.

Simple, huh?

**EDIT**: Your edit is partly corrected. Note that when you add a checkpoint, you don't hardcode the block into the client. When a user opens it for the first time, they'll download all blocks starting with the first block. Checkpoints allow the clients to verify if someone who created his/her block chain completely different than the main chain is sending you the fake chain. The clients do download the whole chain and verify the blocks with checkpoints (also see: `assumevalid`)

> **Comments:**
> **username_0**: yes very simple, I edit my question, can please confirm what i said make sense? thank you for you time  

---

