From f95e8313b300735ea5c26939cfba51e82987a39d Mon Sep 17 00:00:00 2001 From: Fedor Indutny Date: Wed, 7 May 2014 01:10:50 +0400 Subject: [PATCH] chain: prefer to keep more than less --- lib/bcoin/chain.js | 9 ++-- lib/bcoin/protocol/preload.js | 86 +++++++++++++++++++---------------- 2 files changed, 52 insertions(+), 43 deletions(-) diff --git a/lib/bcoin/chain.js b/lib/bcoin/chain.js index 5e41b2de..86523d13 100644 --- a/lib/bcoin/chain.js +++ b/lib/bcoin/chain.js @@ -220,17 +220,20 @@ Chain.prototype.getLast = function getLast() { }; Chain.prototype.toJSON = function toJSON() { + var r = this.index.hashes.length % 50; + var keep = 1000 + r; + // Keep only last 1000 consequent blocks, use every 50th for older var last = { - hashes: this.index.hashes.slice(-1000), - ts: this.index.ts.slice(-1000) + hashes: this.index.hashes.slice(-keep), + ts: this.index.ts.slice(-keep) }; var first = { hashes: this.index.hashes.slice(0, this.index.initialSize - 1000), ts: this.index.ts.slice(0, this.index.initialSize - 1000) }; - var len = (this.index.hashes.length - 1000) - this.index.hashes.length % 50; + var len = this.index.hashes.length - keep; for (var i = this.index.initialSize - 1000; i < len; i += 50) { first.hashes.push(this.index.hashes[i]); first.ts.push(this.index.ts[i]); diff --git a/lib/bcoin/protocol/preload.js b/lib/bcoin/protocol/preload.js index 65f90c10..00d7af9a 100644 --- a/lib/bcoin/protocol/preload.js +++ b/lib/bcoin/protocol/preload.js @@ -5971,25 +5971,7 @@ module.exports = { "194e2e10a12cbe3fd762dc5ebcfa13beb31b4830a54e63930000000000000000", "658787eaba3809974ac4ae7eb39f7f289dd6be08555cc01e0000000000000000", "c9016739af151d881107cbc9bcf0252bc5983ca64f1c7d040000000000000000", - "6e50abfa3b42e894c93aefcb829efa22426c912ff618a2600000000000000000", - "043df4a533614646fba3e63bb6908fc4433941f92a4e8f0f0000000000000000", - "74888bd1d292f14d50c13dcccdfca192b449413a9ee2fb460000000000000000", - "cacda54ea62dea0f14660db29d56aa66c3bcb1af1d47307f0000000000000000", - "eb9befe4620ccc184d3b18dbf8e8c8bc427e0f4d4555316a0000000000000000", - "660cae068d61fed30c66ddde785be6c016d5486e19abf3360000000000000000", - "f2f9356f76cb6543298d9f56bbf777b2d29076d412e488250000000000000000", - "ed2c95ab74b5261f8102de7f08920278c4a21cf32f265c680000000000000000", - "64db739288d302513d217df546e7db00f7cd415fb2b4f66e0000000000000000", - "c8cd5ba3767a889d0765d37928c3e9d582794738610287340000000000000000", - "1cb0541d1f960062497830f1cf14f4bc6cd4b30ce5ddff650000000000000000", - "c57db4b9547799e1ae5192085032822d5699fea07707c9240000000000000000", - "fce89e7bd016cc455c9c368a3d2f1884689c24e61303fb700000000000000000", - "ad53c19a51cea28bbe42676209807b9c4e49b9e0539e99120000000000000000", - "f7fceda8d4e9c9edd66c2429da99722ce7289ccbe6ccb6360000000000000000", - "85459cd22019cdfbf0a58d7fcd863d98de275deb129075600000000000000000", - "3c1eaa9235927023ef98da64af5f649edbd240b569c8fb730000000000000000", - "500cb64081287553fe3f578a154db7e0ad4836ea2584eb780000000000000000", - "3ac6bb16bc39a6c8c89b2a9facde9dc1f23a2488f00be63f0000000000000000", + "65dcfa4fbb1b9bece06e8cba3b6414c7596ace980e63ea3a0000000000000000", "ab8aba2b070327ce682dc4711a028d3e66ddff0fcc8dda730000000000000000", "8b8e374399b7a4dd71f61201492cad4b4a16578fdd43602b0000000000000000", "e54bd23130fde04921e73d5334ef85e7e4528770904d73880000000000000000", @@ -6970,7 +6952,28 @@ module.exports = { "b3b7d1740c3d8f45846c0e0c8c32f6eb42523201ba861c7e0000000000000000", "8a4736663770bb0615f9e7319be4ce797928e8a26ed0422c0000000000000000", "7bf2b32e35ef003b2c2d3bc0669c47db70acafa5f7203e240000000000000000", - "b933fbe14a2a5f55971f0e58fd36de9fe953e2e04b123b630000000000000000" + "b933fbe14a2a5f55971f0e58fd36de9fe953e2e04b123b630000000000000000", + "2ca2b48da3b01b84569087f9c21bc61fa34d9b4dee4aa94c0000000000000000", + "dddae5576b34487fdb82464ba4abb3a7d124eaed5b888d270000000000000000", + "f503baef30d79d8604e0e0a3743339322f16ecb99dc090710000000000000000", + "de2ac1570cdbf2fb221dff135a68d363770b8ab764f79f260000000000000000", + "d3bb15254b9e1d42959d471c588cfe6567446d6c893c2b660000000000000000", + "362c353220abd658717ab4b163d511af12ba3f13052c2e440000000000000000", + "11c280e4c88987beae81705738ac96f8a2bbcd6f51ea43370000000000000000", + "2b447ae4208cc9f1789ad89e9d5a340b8e0b4aa504c6a4070000000000000000", + "34b7b1586fcd537504d03c343dbe10284420bdf76e90861d0000000000000000", + "4b1e3960cd53eccc7d338687d60b5efcf6df75f8f0574e420000000000000000", + "828c76ddbbf9f2b0ca0750fd877d0f5334b1dee9e62412180000000000000000", + "7f1aa9765675eb56774e03b8a1244a8f4b63744477dcb4580000000000000000", + "e940f20843d10cf543386653e7ee73cf2002a545de0dde4f0000000000000000", + "951982a83bc37f26c6cb583ba769ec9775920928585f5e850000000000000000", + "6217f12f6cd2084d192005eb534d860a112c0c4b381b64860000000000000000", + "818c257fb2a4c7f0477d6817b7d8cc47c253d7bb22118f260000000000000000", + "13ccc453774cdbcec9b0fe55ced20dc1d237581ff7679f6b0000000000000000", + "ddf38509534c9395da13556ce64582a9250e784a8149a3380000000000000000", + "8cbbacbb9144b3dffaac301c069cef6e17283c6aceadac180000000000000000", + "89e6327c8ec6cfc63b5b31d49dc0700e7f043127c135c8320000000000000000", + "055736ccb314f860820e7fe8e9d01509b8bb0f3808c11b540000000000000000" ], "ts": [ 1231006505, @@ -12941,25 +12944,7 @@ module.exports = { 1398750211, 1398778093, 1398802330, - 1398838691, - 1398839785, - 1398839786, - 1398841163, - 1398842685, - 1398843125, - 1398843173, - 1398843575, - 1398844646, - 1398846053, - 1398846528, - 1398846772, - 1398848156, - 1398848800, - 1398848829, - 1398849091, - 1398849291, - 1398850435, - 1398851974, + 1398827521, 1398852169, 1398852363, 1398853035, @@ -13940,6 +13925,27 @@ module.exports = { 1399397552, 1399399037, 1399399358, - 1399399595 + 1399399595, + 1399400179, + 1399400914, + 1399401098, + 1399401234, + 1399402500, + 1399402889, + 1399403068, + 1399403389, + 1399404079, + 1399404225, + 1399404914, + 1399404928, + 1399405313, + 1399405628, + 1399405762, + 1399406047, + 1399406192, + 1399406418, + 1399406964, + 1399407628, + 1399407752 ] }