{"id":2598,"date":"2019-11-25T10:15:13","date_gmt":"2019-11-24T21:15:13","guid":{"rendered":"http:\/\/www.talkcrypto.org\/blog\/?p=2598"},"modified":"2020-02-14T00:22:45","modified_gmt":"2020-02-13T11:22:45","slug":"what-is-constantinoplefixblock","status":"publish","type":"post","link":"https:\/\/www.talkcrypto.org\/blog\/2019\/11\/25\/what-is-constantinoplefixblock\/","title":{"rendered":"What is constantinoplefixblock?"},"content":{"rendered":"\n<p>If you have ever looked inside a blockchain genesis file, typically called genesis.json or in the case of a private network, privateNetworkGenesis.json, you will have seen lots of configuration parameters. Some are obvious but others a little more mysterious. <\/p>\n\n\n\n<p>Take for example this genesis file for a private network:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"config\": {\n      \"constantinoplefixblock\": 0,\n      \"ethash\": {\n        \"fixeddifficulty\": 1000\n      },\n       \"chainID\": 1981\n   },\n  \"nonce\": \"0x42\",\n  \"gasLimit\": \"0x1000000\",\n  \"difficulty\": \"0x10000\",\n  \"alloc\": {\n    \"fe3b557e8fb62b89f4916b721be55ceb828dbd73\": {\n      \"privateKey\": \"8f2a55949038a9610f50fb23b5883af3b4ecb3c3bb792cbcefbd1542c692be63\",\n      \"comment\": \"private key and this comment are ignored.  In a real chain, the private key should NOT be stored\",\n      \"balance\": \"0xad78ebc5ac6200000\"\n    },\n    \"f17f52151EbEF6C7334FAD080c5704D77216b732\": {\n      \"privateKey\": \"ae6ae8e5ccbfb04590405997ee2d52d2b330726137b875053c36d94e974d162f\",\n      \"comment\": \"private key and this comment are ignored.  In a real chain, the private key should NOT be stored\",\n      \"balance\": \"90000000000000000000000\"\n    }\n  }\n}<\/code><\/pre>\n\n\n\n<p>Have you ever wondered what constantinoplefixblock is? It turns out that these are called &#8220;Milestone Blocks&#8221;. In a <strong>public network<\/strong>, these specifies the block at which the network changed protocols. For example, <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\"homesteadBlock\": 1150000,\n    \"daoForkBlock\": 1920000,\n    \"daoForkSupport\": true,\n    \"eip150Block\": 2463000,\n    \"eip150Hash\": \"0x2086799aeebeae135c246c65021c82b4e15a2c451340993aacfd2751886514f0\",\n    \"eip155Block\": 2675000,\n    \"eip158Block\": 2675000,\n    \"byzantiumBlock\": 4370000,\n    \"constantinopleBlock\": 7280000,\n    \"constantinopleFixBlock\": 7280000,<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img fetchpriority=\"high\" decoding=\"async\" width=\"480\" height=\"511\" src=\"https:\/\/www.talkcrypto.org\/blog\/wp-content\/uploads\/2019\/11\/Screen-Shot-2019-11-25-at-7.49.55-am.png\" alt=\"\" class=\"wp-image-2599\" srcset=\"https:\/\/www.talkcrypto.org\/blog\/wp-content\/uploads\/2019\/11\/Screen-Shot-2019-11-25-at-7.49.55-am.png 480w, https:\/\/www.talkcrypto.org\/blog\/wp-content\/uploads\/2019\/11\/Screen-Shot-2019-11-25-at-7.49.55-am-282x300.png 282w\" sizes=\"(max-width: 480px) 100vw, 480px\" \/><figcaption><a href=\"https:\/\/amberdata.io\/blocks\/7280000\">https:\/\/amberdata.io\/blocks\/7280000<\/a><\/figcaption><\/figure>\n\n\n\n<p>In a private network though, <a rel=\"noreferrer noopener\" aria-label=\"the milestone block defines the protocol version for the network (opens in a new tab)\" href=\"https:\/\/besu.hyperledger.org\/en\/stable\/Reference\/Config-Items\/\" target=\"_blank\">the milestone block defines the protocol version for the network&nbsp;<\/a> so it is normally set to 0 (zero) meaning version 0 of the Constantinople protocol.<\/p>\n\n\n\n<p>In other words, y<a href=\"https:\/\/ethereum.stackexchange.com\/questions\/15682\/the-meaning-specification-of-config-in-genesis-json\">our chain won&#8217;t be hard-forking for these changes, so leave as 0<\/a> (zero).<\/p>\n\n\n\n<p>Another interesting note in the private genesis file is fixeddifficulty which is used to specify a fixed difficulty in <strong>private networks<\/strong> using <strong>Ethash<\/strong> which overrides the difficulty field.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you have ever looked inside a blockchain genesis file,<\/p>\n","protected":false},"author":1,"featured_media":2601,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-2598","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ethereum"],"featured_image_urls":{"full":["https:\/\/www.talkcrypto.org\/blog\/wp-content\/uploads\/2019\/11\/constantinople.jpg",184,98,false],"thumbnail":["https:\/\/www.talkcrypto.org\/blog\/wp-content\/uploads\/2019\/11\/constantinople-150x98.jpg",150,98,true],"medium":["https:\/\/www.talkcrypto.org\/blog\/wp-content\/uploads\/2019\/11\/constantinople.jpg",184,98,false],"medium_large":["https:\/\/www.talkcrypto.org\/blog\/wp-content\/uploads\/2019\/11\/constantinople.jpg",184,98,false],"large":["https:\/\/www.talkcrypto.org\/blog\/wp-content\/uploads\/2019\/11\/constantinople.jpg",184,98,false],"1536x1536":["https:\/\/www.talkcrypto.org\/blog\/wp-content\/uploads\/2019\/11\/constantinople.jpg",184,98,false],"2048x2048":["https:\/\/www.talkcrypto.org\/blog\/wp-content\/uploads\/2019\/11\/constantinople.jpg",184,98,false],"chromenews-featured":["https:\/\/www.talkcrypto.org\/blog\/wp-content\/uploads\/2019\/11\/constantinople.jpg",184,98,false],"chromenews-large":["https:\/\/www.talkcrypto.org\/blog\/wp-content\/uploads\/2019\/11\/constantinople.jpg",184,98,false],"chromenews-medium":["https:\/\/www.talkcrypto.org\/blog\/wp-content\/uploads\/2019\/11\/constantinople.jpg",184,98,false]},"author_info":{"info":["seandotau"]},"category_info":"<a href=\"https:\/\/www.talkcrypto.org\/blog\/category\/ethereum\/\" rel=\"category tag\">Ethereum<\/a>","tag_info":"Ethereum","comment_count":"0","_links":{"self":[{"href":"https:\/\/www.talkcrypto.org\/blog\/wp-json\/wp\/v2\/posts\/2598","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.talkcrypto.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.talkcrypto.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.talkcrypto.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.talkcrypto.org\/blog\/wp-json\/wp\/v2\/comments?post=2598"}],"version-history":[{"count":2,"href":"https:\/\/www.talkcrypto.org\/blog\/wp-json\/wp\/v2\/posts\/2598\/revisions"}],"predecessor-version":[{"id":2625,"href":"https:\/\/www.talkcrypto.org\/blog\/wp-json\/wp\/v2\/posts\/2598\/revisions\/2625"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.talkcrypto.org\/blog\/wp-json\/wp\/v2\/media\/2601"}],"wp:attachment":[{"href":"https:\/\/www.talkcrypto.org\/blog\/wp-json\/wp\/v2\/media?parent=2598"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.talkcrypto.org\/blog\/wp-json\/wp\/v2\/categories?post=2598"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.talkcrypto.org\/blog\/wp-json\/wp\/v2\/tags?post=2598"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}