From 47c67e45db8184dc170aaf682947cad70a4be002 Mon Sep 17 00:00:00 2001 From: Duke Date: Thu, 9 Feb 2023 18:22:57 -0500 Subject: [PATCH] checkpoints --- doc/release-process.md | 5 +- src/chainparams.cpp | 172 ++++++++++++++++++++++++++++++++++++++++- 2 files changed, 171 insertions(+), 6 deletions(-) diff --git a/doc/release-process.md b/doc/release-process.md index 81ccbec7e..03a174cd1 100644 --- a/doc/release-process.md +++ b/doc/release-process.md @@ -75,11 +75,10 @@ Install deps on Linux: - Update checkpoints in src/chainparams.cpp via util/checkpoints.pl - hushd must be running to run this script, since it uses hush-cli to get the data - Look for line which says "END HUSH mainnet checkpoint data" near line 560 in chainparams.cpp , that is where checkpoint data ends - - Find the highest block height of data, let's call it HEIGHT + - Find the highest block height of checkpoint data, let's call it HEIGHT - Run `./util/checkpoints.pl 1000 HEIGHT &> checkpoints.txt` to generate the latest checkpoint data - To copy the new data from checkpoints.txt into the file, one way in Vim is to type ":r checkpoints.txt" which will read in a file and paste it as the current cursor - You will see 3 lines of "stats" at the end of the output, you just pasted in the newest stats. Delete the old stats that should be the 3 lines under the current stats - - The script generates a comment "Generated at ...", that should be moved to the very beginning of the checkpoint data - Make sure the new code compiles, commit and push - Run `./util/checkpoints.pl help` to see some basic help - By default it will generate checkpoints for every 1000 blocks, the "stride" @@ -117,4 +116,4 @@ Install deps on Linux: ## Platform-specific notes -Use `./util/build-mac.sh` to compile on Apple/Mac systems, use `./util/build-win.sh` to build on Windows and `./util/build-arm.sh` to build on ARMv8 systems. \ No newline at end of file +Use `./util/build-mac.sh` to compile on Apple/Mac systems, use `./util/build-win.sh` to build on Windows and `./util/build-arm.sh` to build on ARMv8 systems. diff --git a/src/chainparams.cpp b/src/chainparams.cpp index e1cb01333..6eb1368ff 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -1381,9 +1381,175 @@ void *chainparams_commandline() { (1085000, uint256S("0x00000003e9ed1a3e3593e19554280c5aa789e2182a42243e9f7bb63bd08ef4d7")) (1086000, uint256S("0x000000069c32b803dca7ce354f422735c4b1995c43266de5bf288399e0f70324")) (1087000, uint256S("0x000000027a91bb3d167380a39dc55ad2f8df57d95d08936407b2b1f257b91df6")) - ,(int64_t) 1663567436, // time of last checkpointed block - (int64_t) 1788273, // total txs - (double) 3139 // txs in the last day before block 1087529 + + // Generated at 1675984534 via hush3 util/checkpoints.pl by Duke Leto + (1088000, uint256S("0x00000002c42e2c0fc2dd7110304fb3d67daafaf0ebeab611a55b7d4dd18d8650")) + (1089000, uint256S("0x000000018e43dece08da3175dc77095b766a26915d12cf74f1af9442740449e0")) + (1090000, uint256S("0x000000020838fa90a1cda91c014d907d39c39c66e411d170ca4828efb3af4c79")) + (1091000, uint256S("0x00000004bffbb9be4d9f1a61c0021775f854ab1f590ca306c404787c035a4807")) + (1092000, uint256S("0x000000006383674d4e847e03a294ac6a63fef8cffe97029f07c92d26b8ec56fe")) + (1093000, uint256S("0x000000010e765f2f7664ca856435cd14ccc07535665ad1bf717df2bcd5f6f2ad")) + (1094000, uint256S("0x0000000407986aa26a0d1e7e955000e1fd55df0d8d80334b1fbb2d69669b6836")) + (1095000, uint256S("0x000000020d09d8e345132fd62d01adc063cadef4722c3273a1825e1b8bf0d9ab")) + (1096000, uint256S("0x000000000b3c0853a862f6ab950e90b9c8d4e31c6e64dbaf35566208ab75a9df")) + (1097000, uint256S("0x000000006fd4db1bb4dc48ed382f388bba054025e94b4b677cb88c9604ccd0a7")) + (1098000, uint256S("0x00000000eaacf730729706231ecaab40268d7cc5899b38a88577fcb1529f165e")) + (1099000, uint256S("0x00000000cbc9a34bd3006fc58f532afe06879c37baf1203a97399d647d08df49")) + (1100000, uint256S("0x000000055746ed129f6e080e1ad7cf1c3b7991f61d9deb88009070eb466046b7")) + (1101000, uint256S("0x0000000292feaaf9d63cde979314cba3d3da073a2ba0787987bb2d1c152fc046")) + (1102000, uint256S("0x000000058252f88934fc156c1a5e640cfa3527c59b4b5642a912b616fcf1895c")) + (1103000, uint256S("0x000000001052f5e5504227a2ecca6fe8bd537aeacd7e37f42763a0e45fe2441f")) + (1104000, uint256S("0x000000011040c25528d28cf58af8cb64cebcd655187f03740bb252a3f8122492")) + (1105000, uint256S("0x00000005717505e51912bfded85c605ecbb5d7993dc62ed8d8b4f642a37785ae")) + (1106000, uint256S("0x00000004af60a5433510940f3f513e280cc735f9c6634f6c21f09af06e47e79b")) + (1107000, uint256S("0x00000008accf0c9ae0e366dddf9a20b243cafdf63168b73347e85eaaad34c70a")) + (1108000, uint256S("0x00000002590edf9273758c843fc2ebca3a4c25c926d9756186478b67c2636f3d")) + (1109000, uint256S("0x00000006fac3ea21aca8de55fff64cdb44654fb1bbaaa7122d15bed0ba369064")) + (1110000, uint256S("0x00000000fdab3549e08f9ca12857c83f42c4f010b2fda2dba66ede48a5dc7e57")) + (1111000, uint256S("0x0000000495bb04fb535d76dd6e76986f3d8dced4d1e7f09ba06e6ab7aa740d03")) + (1112000, uint256S("0x000000055e62518723147d9b2113b00e77d4ba9773864b44bd2ed960b97416a9")) + (1113000, uint256S("0x000000071bec6afe075e0ca4c2d02a0b699f71387babb0271d7dc62fc642970d")) + (1114000, uint256S("0x000000056148323bc501945ed0433c286a523f84432159322b45ba344d6cb38f")) + (1115000, uint256S("0x0000000638c218c77a322ae0c8a259299ef0b0a6eefcf4a7501afdb40689383e")) + (1116000, uint256S("0x00000002dfd21b8fc5f15597a29639cc94a76444a1fbb3b09ca6bcc81f01f513")) + (1117000, uint256S("0x0000000482187d47d169b46b796f50e3c33742f47a33edbd4afb08f13cb849ba")) + (1118000, uint256S("0x0000000163118a8e695b808e67c34f4a5d30f25b3492a443d5e62d85913ca04c")) + (1119000, uint256S("0x0000000543b33b3e83f2b96e8dda83dc2a2606fd74ae803dacb65f66baa0d595")) + (1120000, uint256S("0x00000006b40bb5d87feefa917c203eaa024285f894a7784e7c28822f10dfad14")) + (1121000, uint256S("0x000000039fba003a7e63c9fe0588fb80dbc23ca34d0032fc9e38ccab15a699d0")) + (1122000, uint256S("0x000000007b8cc5ed0c44c78f3d19b5a8a5de2e8c2fbb6538d56637e414a1a424")) + (1123000, uint256S("0x000000076281d748a0242e05f7d33125ef686d031d52f94634e015224cdd60c5")) + (1124000, uint256S("0x00000007917a10e30dc6ade1e98cf7a6bed78ec6de429ac4913f7c02acff1f41")) + (1125000, uint256S("0x000000026d94bab5f164519547f7c1d25664fd26a23ec96a18e50de6cb02f39b")) + (1126000, uint256S("0x00000002a44f24af5feed7d1fb4cede90fd05ef404428b7ce7f3bd7b3202a1ce")) + (1127000, uint256S("0x000000008c43bb7a1fb542d890f2e4892a5e5ef6e1365dbe8806d2a55ae8d387")) + (1128000, uint256S("0x00000006c072b5f08c55a280ef7d5d21c5f9230a8f68f613225cf74db010a444")) + (1129000, uint256S("0x00000001c9c85f1c02439e82f724137db939c9e8c77af8e70173d0e40a0b3af3")) + (1130000, uint256S("0x000000076f4faeb53342aac9204affdbacb1709885a4a245e64740343d665326")) + (1131000, uint256S("0x00000004397ee6c65cd0eedf8807fe40f826506a18bda1d75bc3232ea6d18c99")) + (1132000, uint256S("0x00000001e451ea9ba1baed5944beb0533f30b019d530309dcc64910b1b1b8452")) + (1133000, uint256S("0x00000005fcd34538acfa636f031fd3f508c20e07e9052b664597c8185af0d3e0")) + (1134000, uint256S("0x00000001f2ffa9616240a9674f5fec0ac0564daf1483424d674b3b5c8524edf1")) + (1135000, uint256S("0x00000006aecdd129c22bb8f2d86b6dd23db163d9452850d875cab607d0d1988b")) + (1136000, uint256S("0x000000043cb8bdc396e2769e7a88860d9d20d7a59f271789a44d3056b59bc024")) + (1137000, uint256S("0x000000052666465ba541e16a2ccb766901dac6b45af67820865f550e3c4117d0")) + (1138000, uint256S("0x000000053cd2a374a3aa42b238fcd5f47f5c0b50e119c29669ddfb27cfa747e2")) + (1139000, uint256S("0x00000005e6bab6dcd63c7bf8cb2d27e103d860e2dba5e82b22352fd09fbcbe9a")) + (1140000, uint256S("0x00000008265a1b52f46556220ef184bd924a47ca13dea30a2e01ae91c614d521")) + (1141000, uint256S("0x00000002b799b12a272ffecd74b19d9ce4d4fe184e414f133c9db5c086a20ad5")) + (1142000, uint256S("0x00000004fbe0bf705da37792af72bdcd65c982e78ca15bb16fede76b2c3094d7")) + (1143000, uint256S("0x00000003be8cce9f701ace74151817f71e3731125892832465238d3c972d290c")) + (1144000, uint256S("0x000000068a415ca795b3b717590b21c25ac680ba308c3b2b08b81c299b56e31d")) + (1145000, uint256S("0x0000000317e5a350e0dae1027c20645e4d3c36c339c5c780ef2c0186856efc5d")) + (1146000, uint256S("0x00000006edf1d01d525d34475d4f11442eb8a2c59ddc4c10a7d5a1c972b1e7dc")) + (1147000, uint256S("0x000000020f16fac207427d6ec232f2ef554778a090c32155f43f90420381845d")) + (1148000, uint256S("0x00000003fe28c78fdd1231b327a40da2b32fa41ac5c5e343309034ee5785ba1d")) + (1149000, uint256S("0x000000007abcb62c8e83df22359876a8cff94674ecb3947b0922d3eef751ec02")) + (1150000, uint256S("0x0000000650e627bd7da6868f14070aff8fdbd31ef7125fe77851976ed3adfc54")) + (1151000, uint256S("0x00000002854a57a378bfbd335ba3e9f3f220c48d1604b70b233667466e6de130")) + (1152000, uint256S("0x000000013d9f22b3557a3eae21cb9739451a168fde0714649d98a8ff1ed36937")) + (1153000, uint256S("0x00000005fea3b98885ef8284dbc2ccae53330fbd940d0011acdf6588a49feb59")) + (1154000, uint256S("0x00000003429e13ad0a0cd0cea72c4422b9d9c87b0ebefb0d9f74648b60569edd")) + (1155000, uint256S("0x00000006dfe8d708ceefa5c6f28c4eef8e2cececf81211b305ee8d9d1e4b2a30")) + (1156000, uint256S("0x0000000960bf07a13ea2b0808c8c8f9631ffbf870769660a3517e342bae23d2f")) + (1157000, uint256S("0x00000003baa90aad3b9a28ba28d95b2d93c3a1fd5ee59649f9343f0b800df45a")) + (1158000, uint256S("0x000000038e4dc332187256627973277ad744870d265ca2f96fb81a13898a69c0")) + (1159000, uint256S("0x00000004e5ae2a139e17de72bac6b012c738f975f7d37feccf62232b2541c4c9")) + (1160000, uint256S("0x000000006904fea1620eb53ad7f912197881e3d47a8a6683d943efc0ff43c94e")) + (1161000, uint256S("0x00000004589195775511a5ea92411eb37c4cf8bc7b6d4d2388c666200e6770b7")) + (1162000, uint256S("0x0000000231fe740494f062669c13accc1c3cba62214b2ed7c93ed74259573675")) + (1163000, uint256S("0x000000054519199a161a43a9e690576059b823e481c0e0fc2baeafb6ab2ec642")) + (1164000, uint256S("0x000000027897fe94751d463964461257f89835b968009a5498719ae2141c71f6")) + (1165000, uint256S("0x00000001fde2686f240e6670fa722e0a346caa3dc510c9c832314af7648a2ee2")) + (1166000, uint256S("0x000000059b344a03db6dfa9dd6bb8f006155d943c3ed2e21009a175337a7aefa")) + (1167000, uint256S("0x0000000400e9418a5e5877ccd79f236a6139a5277a8104c027d85db8ec088105")) + (1168000, uint256S("0x00000002e8b3dacca4dc0833e4a9e2cbbf78dab53e9f0ae143f4d315fddc88ce")) + (1169000, uint256S("0x0000000330f37afdf21d9085991ee921e8ae3fafe4494d9e054b408fb56f1bc5")) + (1170000, uint256S("0x00000002adc92872d2031c7f142d7c3cb85ffa90b3a656d2b2061e997e7b8770")) + (1171000, uint256S("0x00000006e837c8a29d752739000167ab1b1ffec2cb5822c129b2c28acce00b5e")) + (1172000, uint256S("0x00000002baeedc6492367e25459f1facb2e478adab3369264bad86bd36eefcec")) + (1173000, uint256S("0x00000000aaf69980bc72f37fa87cb8b6e67083df5ee00e767fbcda90e958a05d")) + (1174000, uint256S("0x000000073883ae59028049bd849d1d588f16c9d750337d7a2d0e593f42087b89")) + (1175000, uint256S("0x00000000c5f7849a2a38329061d4a802e5682bf20ea21d4cff4c0eb2c77b27a1")) + (1176000, uint256S("0x00000007a67a59afe4f0132f2daa79246ee2a8574a8b216c41912836dd0bdc43")) + (1177000, uint256S("0x00000003caf28467a541bdeef8d87e5cd1006fbfdb35a2480715601c207d6a96")) + (1178000, uint256S("0x000000021b2de9ab84878ac507ae626bbf5f41981ae8b5dd53809e62bb927093")) + (1179000, uint256S("0x00000009677998fba7c3a952475730666da5392a79defa896bc9ede5a44131c8")) + (1180000, uint256S("0x00000007747404722bfbab50f0a42b8c950c636d332263f2dc189f72b8832df4")) + (1181000, uint256S("0x0000000617bb091494d3158fc2ef014ce11ec3920f16a0ea291f288980e453e0")) + (1182000, uint256S("0x000000085cdf357b7eac144b765a63e9a76b9b26501c45ad1ba76e96061d23d2")) + (1183000, uint256S("0x00000005179a1b05631ba9d46ce57da700397797d808d489600345f1f8be1e94")) + (1184000, uint256S("0x0000000895ad9c2d9b2903e1ce8d7dc83b5f68ea7c70c34bc309d2b381f7eb79")) + (1185000, uint256S("0x000000070d264220351e1d1bd5a9d8c7d1a4585c04856f749262b55ef40abffa")) + (1186000, uint256S("0x0000000497315ad1286045d458e8b5208feb0b4ef78c8d895739f551a2024245")) + (1187000, uint256S("0x00000003676ae259e1b343c7df5dedf3e76ba96c9fcff7c29d002382a66cb2ed")) + (1188000, uint256S("0x000000041b554feb0d831fc2818ab68d259d18940db3dab317d8b76281d04f76")) + (1189000, uint256S("0x00000001c08e6d57ae32dcd130495bbf477aa2e0ba239ae3794c2e667dfeaf25")) + (1190000, uint256S("0x000000012c06d63527fc546d26d426fc0a1ca861d7261b87b899b52603bd6476")) + (1191000, uint256S("0x00000000237e77b25ca87430b0956d3071dceefa4087b15434e8aaf995446af9")) + (1192000, uint256S("0x00000004622f8f297bf642428f6c856e669096b2e5f670e0fb98bcf7ff760699")) + (1193000, uint256S("0x000000031331f9962f234f8542aad5e2f8e8f6f4d5d1a7d7f7111fe6b8ff3388")) + (1194000, uint256S("0x0000000315942d3677f377108cb90ab78a4def34ee3638c0293a3694c08247ed")) + (1195000, uint256S("0x00000005588624111c5659969c4603dae7a321093e117d1b86e1ce36dfa59043")) + (1196000, uint256S("0x0000000171b3dffc7a999a53522e6d705cad236340fe4c8a70e4f06cf408a0a5")) + (1197000, uint256S("0x0000000107dd22f5c96d4e4c347766d9fcf9b7a03ab65177bb185a84a7f23e4b")) + (1198000, uint256S("0x000000031ebcfb2ab9672ef855251fbca96fa274dfde94e64a4f909f8cd3d43c")) + (1199000, uint256S("0x000000038b953b235acd6f5a6140649993f380042339c59633158f09a673a061")) + (1200000, uint256S("0x00000008b51ed341723143be685bfa5dc7d0623a7892958fab0e91f1a0b067bd")) + (1201000, uint256S("0x00000005448c7a0aeda8d975ab2cad101185aa0021ca56f348cc814d76e494de")) + (1202000, uint256S("0x000000034d9fd12360fc9b61c2b7d3d258e433903980831eff5a139fcb5e7969")) + (1203000, uint256S("0x0000000801ec6bd4a84ce37e6bf35133f26899014f9044fd5eca5eccac5188d1")) + (1204000, uint256S("0x00000005e48ca83c0b50881d31bbc07708b03119b2f176aa5cb447140637fee3")) + (1205000, uint256S("0x00000001392769fbe9d1b549347188e7c6900db2bd704f045e6ca489beae018e")) + (1206000, uint256S("0x000000051c5c0c5a0066567571e032870629ae69e363249edb89e4d56eb311c0")) + (1207000, uint256S("0x00000004203c479698293d96ed36c0716ae6493391ae6adc2e5236100f83ae40")) + (1208000, uint256S("0x00000001972ec2ee647e9b6b8dc3b713bedff826cba12765e579fcdeb8be501b")) + (1209000, uint256S("0x00000001f35be87e27e07382c71695681ba8dad01182f42cefc8b6fdefdfcce6")) + (1210000, uint256S("0x000000001466676d37c27e82694b03318fda2e81a363d16ff8d7fbe8a76d8693")) + (1211000, uint256S("0x0000000637f96880dc302378cded2019cf008974fb9f46f974d2dd2d13f672a9")) + (1212000, uint256S("0x000000074528eab351d79f82b0e44a89ba2a2c0a4561e75c8cb2f63c4610bbcf")) + (1213000, uint256S("0x0000000471a897a0576d34aeb4c3e740bb2bbe3d16f2af04e6191ef5cc9c5747")) + (1214000, uint256S("0x000000029c375c216d74848a75a19b459921f8e2a5c86f953737634a878fec0e")) + (1215000, uint256S("0x000000074cae91dfcb9c7d888d2c03465aad5f3321fb769f68cb0806ce1c025c")) + (1216000, uint256S("0x00000008372aa1d849f8959c259943f5eb1d2f07331e62a0ae5a15e0a8243580")) + (1217000, uint256S("0x00000001b2f59097c6e15affbdc4c013088c5145cdbd86b09a6a64893d68624e")) + (1218000, uint256S("0x000000039bcbbf21170cdb2688439de3ca39f9cfe781408932917950b25ad649")) + (1219000, uint256S("0x00000004159e554fa29498c2abdf9c23fc2a7b703a905f252cda2a53b377c5ec")) + (1220000, uint256S("0x00000006e1c2ff124328e47c93b36f491d02ea6b3f73a5035d448123977afa3a")) + (1221000, uint256S("0x00000002e29d71fd9032a14be6e05538d091ca8be41bf9bbe7c648e562991f2b")) + (1222000, uint256S("0x00000002277603d2d735ef89e33497fe5ee60413f15cf45cf0c185c7f1c5d240")) + (1223000, uint256S("0x000000055c22a01b0f4fe99aaa72221d5e41f0f1bf9d4c8544fe616a3d138e1f")) + (1224000, uint256S("0x000000028afd93c37d53830dab4b1dcbf656ea99ea1bc5332e8941a2b9aed2b5")) + (1225000, uint256S("0x00000006477c2ff2b13af2d4fe8b386e184442daa5c8d9cb31293099ff9bdb31")) + (1226000, uint256S("0x000000021717f01436a9677af5ad8836e8eec203f657d82d0a368df92de315aa")) + (1227000, uint256S("0x000000069e3ad932d5e29a21b64fea1e54c0bcec291bab7c7f3d4d22f01553ad")) + (1228000, uint256S("0x00000005119c8d2e0886d513477364a93bea863344b8bf87415445426cb6778d")) + (1229000, uint256S("0x00000004427be49483384a8c7ffb5c06fac61dfdc0a75b0a03e3ca0ea41e513a")) + (1230000, uint256S("0x00000004ce24d10589f23cc53ac76df507dff75495431c279fb8ebb771791073")) + (1231000, uint256S("0x00000001efd76d368ee107b1647e3700afb5c173d0d637b4d749e904d06fdb35")) + (1232000, uint256S("0x0000000129a4b6e0ead541c57159a6ac051dc8aa7459b9eac592edeb851ad7b6")) + (1233000, uint256S("0x00000006b821eaf79d718e817d59186ff0d7d2dcfa0898891e93e275b3d63cb0")) + (1234000, uint256S("0x00000002efdd622c85230eb4d3978bd4396e58af45304ab1ac28ef5089cd19d4")) + (1235000, uint256S("0x000000060e07823a1529a26fd2a731247ee8985dd77bba511ed23e1d9d075001")) + (1236000, uint256S("0x00000001c86c1d13488565710495fcdd02f3d5f6b1b3fa75b8633e1a8d83a70e")) + (1237000, uint256S("0x000000049093e5f965deb09ecc0778be58181d79c1c25f309a2a7939b1e636c3")) + (1238000, uint256S("0x0000000326a511be9b410c430f9c1770c025c27dddceadf47ddedaf844d3ccb9")) + (1239000, uint256S("0x000000017e9a177c1a3a3f79dd703badebc790dd99a35fb2287a7f2b3b71547c")) + (1240000, uint256S("0x000000042929e3117f22829289d73ed8c33032ecd813e65da9d25ee48139c5de")) + (1241000, uint256S("0x00000001289c575a3697606ebfe35d0cfaaa1ed0c6e0f6c75a75b77889c08b0e")) + (1242000, uint256S("0x000000040c7bf04faf5873d8107962db45e56d33d37ce6dcd319826834111016")) + (1243000, uint256S("0x000000009fd238b0ce665f9d96204c2a3e5b1e36744385a88c58781ad8298726")) + (1244000, uint256S("0x00000001096334e88f76b6f5b073d8c72543745ba0a52612f525fb6c7f181fe3")) + (1245000, uint256S("0x00000000467dfb301c6db05c5d0725aa0133a473456160de8e132779bfad25e0")) + (1246000, uint256S("0x0000000222addd93922d679f8b9c60f0dc87db0172662c770ab9d68ee2774c93")) + (1247000, uint256S("0x0000000347b1078686786223140a6e4a3d1d13769ae095bb369469905b30d7ea")) + (1248000, uint256S("0x000000031d981183243697659fe453d2fc529845b64e72e55fc9f2b358a6e0a7")) + (1249000, uint256S("0x00000001170d6ae54d494bd2dbf29c5ab7f560f51874987d7dbe129d549c097f")) + (1250000, uint256S("0x000000033226eef40d094c8aa88d03bbc9146856c52248760e28c45426787352")) + (1251000, uint256S("0x0000000281c7f7ef75ac6539791e26b9744cccd59414b04ddc4697bcd3595209")) + ,(int64_t) 1675926362, // time of last checkpointed block + (int64_t) 2022392, // total txs + (double) 1371 // txs in the last day before block 1251770 }; // END HUSH mainnet checkpoint data