diff --git a/.eslintrc.json b/.eslintrc.json index 1f00f9dd0..b2e8524ee 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -218,6 +218,7 @@ "auth", "authroutes", "axios", + "blksize", "blockactivity", "blocksbyhour", "blockandtx", @@ -358,6 +359,7 @@ "txhash", "robertfeng", "vchinoy", + "Uint8", "unhandled", "utils", "util", @@ -421,7 +423,9 @@ "pltfrm", "SAMEORIGIN", "csurf", - "_csrf-hl-expl" + "_csrf-hl-expl", + "Uint8", + "Uint8Array" ], "skipIfMatch": ["http://[^s]*"], "skipWordIfMatch": ["^foobar.*$"], diff --git a/app/persistence/fabric/CRUDService.js b/app/persistence/fabric/CRUDService.js index 1d1829079..905f18037 100644 --- a/app/persistence/fabric/CRUDService.js +++ b/app/persistence/fabric/CRUDService.js @@ -54,7 +54,7 @@ class CRUDService { */ getBlockActivityList(channel_genesis_hash) { - const sqlBlockActivityList = `select blocks.blocknum,blocks.txcount ,blocks.datahash ,blocks.blockhash ,blocks.prehash,blocks.createdt,( + const sqlBlockActivityList = `select blocks.blocknum,blocks.txcount ,blocks.datahash ,blocks.blockhash ,blocks.prehash,blocks.createdt, ( SELECT array_agg(txhash) as txhash FROM transactions where blockid = blocks.blocknum and channel_genesis_hash = '${channel_genesis_hash}' group by transactions.blockid ), channel.name as channelname from blocks inner join channel on blocks.channel_genesis_hash = channel.channel_genesis_hash where @@ -105,7 +105,7 @@ class CRUDService { } const sqlBlockTxList = `select a.* from ( select (select c.name from channel c where c.channel_genesis_hash = - '${channel_genesis_hash}' ) as channelname, blocks.blocknum,blocks.txcount ,blocks.datahash ,blocks.blockhash ,blocks.prehash,blocks.createdt,( + '${channel_genesis_hash}' ) as channelname, blocks.blocknum,blocks.txcount ,blocks.datahash ,blocks.blockhash ,blocks.prehash,blocks.createdt, blocks.blksize, ( SELECT array_agg(txhash) as txhash FROM transactions where blockid = blocks.blocknum ${blockTxListSql} and channel_genesis_hash = '${channel_genesis_hash}' and createdt between '${from}' and '${to}') from blocks where blocks.channel_genesis_hash ='${channel_genesis_hash}' and blocknum >= 0 and blocks.createdt between '${from}' and '${to}' diff --git a/app/persistence/fabric/postgreSQL/db/explorerpg.sql b/app/persistence/fabric/postgreSQL/db/explorerpg.sql index 0947f921f..8cd5b0ba5 100644 --- a/app/persistence/fabric/postgreSQL/db/explorerpg.sql +++ b/app/persistence/fabric/postgreSQL/db/explorerpg.sql @@ -24,7 +24,8 @@ CREATE TABLE blocks createdt Timestamp DEFAULT NULL, prev_blockhash character varying(256) DEFAULT NULL, blockhash character varying(256) DEFAULT NULL, - channel_genesis_hash character varying(256) DEFAULT NULL + channel_genesis_hash character varying(256) DEFAULT NULL, + blksize integer DEFAULT NULL ); ALTER table blocks owner to :user; diff --git a/app/platform/fabric/sync/SyncService.js b/app/platform/fabric/sync/SyncService.js index df63f758f..e3733ae56 100644 --- a/app/platform/fabric/sync/SyncService.js +++ b/app/platform/fabric/sync/SyncService.js @@ -477,7 +477,8 @@ class SyncServices { createdt, prev_blockhash: '', blockhash, - channel_genesis_hash + channel_genesis_hash, + blksize: jsonObjSize(block) }; const txLen = block.data.data.length; for (let i = 0; i < txLen; i++) { @@ -651,7 +652,8 @@ class SyncServices { } tx`, time: createdt, txcount: block.data.data.length, - datahash: block.header.data_hash + datahash: block.header.data_hash, + blksize: block_row.blksize }; _self.platform.send(notify); @@ -701,3 +703,49 @@ function convertValidationCode(code) { } return _validation_codes[code]; } + +// Calculate data size of json object +function jsonObjSize(json) { + let bytes = 0; + + function sizeOf(obj) { + if (obj !== null && obj !== undefined) { + switch (typeof obj) { + case 'number': { + bytes += 8; + break; + } + case 'string': { + bytes += obj.length; + break; + } + case 'boolean': { + bytes += 4; + break; + } + case 'object': { + const objClass = Object.prototype.toString.call(obj).slice(8, -1); + if (objClass === 'Object' || objClass === 'Array') { + for (const key in obj) { + if (!Object.prototype.hasOwnProperty.call(obj, key)) continue; + sizeOf(obj[key]); + } + } else { + bytes += obj.length; + } + break; + } + default: + console.log(typeof obj); + break; + } + } + return bytes; + } + + function formatByteSize(rawByte) { + return (rawByte / 1024).toFixed(0); + } + + return formatByteSize(sizeOf(json)); +} diff --git a/app/test/blockandtx.js b/app/test/blockandtx.js index 80f4c4bba..f4dffb694 100644 --- a/app/test/blockandtx.js +++ b/app/test/blockandtx.js @@ -48,7 +48,8 @@ describe('GET /api/blockAndTxList/:channel/:blocknum', () => { 'createdt', 'blockhash', 'prev_blockhash', - 'txhash' + 'txhash', + 'blksize' ); } done(); diff --git a/app/test/fixtures/blockandtx.json b/app/test/fixtures/blockandtx.json index 0a8d4d83a..d8c5ea16f 100644 --- a/app/test/fixtures/blockandtx.json +++ b/app/test/fixtures/blockandtx.json @@ -1,246 +1,235 @@ { - "status": 200, - "rows": [ - { - "id": 18, - "blocknum": 4, - "datahash": - "8f8ab6a4d8c524f7c1eb6ad63baefda7fc6600ef257c4452ebf166e1db735a91", - "prehash": - "39f36405901f8a3f05787f4e31665767c94078d198f657b43ad7f3d3857563e6", - "channelname": "mychannel", - "txcount": 1, - "createdt": "2018-06-07T02:30:58.000Z", - "prev_blockhash": null, - "blockhash": null, - "txhash": [ - "1752ce850935e0547e78b5396f64162a09c595f9ecc514f25afe48b52fa4d840", - "3216e30109aff548cabbff21f2ff786f50b80ca13fd112dc2c8804cd73c3aebf", - "63abc90c2e071c126398a5d0657d2ff4fb066a31cbb33960d1f7b82aed49cc5e", - "5388a544555e62884fe83efe4a5b6303093c4190abd528baaf0fcd712bce4ea8", - "7149cd80783ab0a60fe54648f53044efe2fd851a51cbeba6be4cdc0becb5ea2c", - "b48754707f3db10422e927a0887672f274bee3547484e1843f4cd48fb1c1e5b4", - "eba4d3e856eb2c50d40c5180b2162faaa02c06420e969047e75ed594f03b24d1", - "d0742c955cc78c3cf4f489fe2569ef66fa1f2e391d0e4094ed393d3b5c9a7076" - ] - }, - { - "id": 13, - "blocknum": 4, - "datahash": - "61b47b9ced2d8077f60406f9dda7fe5a9fa4e68c29b909d7aa4b4fa3507cfbb2", - "prehash": - "a966f1872e118b1c655a6dd615d6b7118ba5fef978acd411393bf6537086da4d", - "channelname": "mychannel", - "txcount": 1, - "createdt": "2018-05-24T00:55:25.000Z", - "prev_blockhash": null, - "blockhash": null, - "txhash": [ - "1752ce850935e0547e78b5396f64162a09c595f9ecc514f25afe48b52fa4d840", - "3216e30109aff548cabbff21f2ff786f50b80ca13fd112dc2c8804cd73c3aebf", - "63abc90c2e071c126398a5d0657d2ff4fb066a31cbb33960d1f7b82aed49cc5e", - "5388a544555e62884fe83efe4a5b6303093c4190abd528baaf0fcd712bce4ea8", - "7149cd80783ab0a60fe54648f53044efe2fd851a51cbeba6be4cdc0becb5ea2c", - "b48754707f3db10422e927a0887672f274bee3547484e1843f4cd48fb1c1e5b4", - "eba4d3e856eb2c50d40c5180b2162faaa02c06420e969047e75ed594f03b24d1", - "d0742c955cc78c3cf4f489fe2569ef66fa1f2e391d0e4094ed393d3b5c9a7076" - ] - }, - { - "id": 14, - "blocknum": 4, - "datahash": - "aeea392666e989b745c6d46f07b6ffcb31e136e06fdf23be684c0aa30bc7a849", - "prehash": - "0c21f0815186c76c235daf5abe0f48fdefd5c59271b6059da809ac8fd0d806bc", - "channelname": "mychannel", - "txcount": 1, - "createdt": "2018-05-24T03:12:39.000Z", - "prev_blockhash": null, - "blockhash": null, - "txhash": [ - "1752ce850935e0547e78b5396f64162a09c595f9ecc514f25afe48b52fa4d840", - "3216e30109aff548cabbff21f2ff786f50b80ca13fd112dc2c8804cd73c3aebf", - "63abc90c2e071c126398a5d0657d2ff4fb066a31cbb33960d1f7b82aed49cc5e", - "5388a544555e62884fe83efe4a5b6303093c4190abd528baaf0fcd712bce4ea8", - "7149cd80783ab0a60fe54648f53044efe2fd851a51cbeba6be4cdc0becb5ea2c", - "b48754707f3db10422e927a0887672f274bee3547484e1843f4cd48fb1c1e5b4", - "eba4d3e856eb2c50d40c5180b2162faaa02c06420e969047e75ed594f03b24d1", - "d0742c955cc78c3cf4f489fe2569ef66fa1f2e391d0e4094ed393d3b5c9a7076" - ] - }, - { - "id": 15, - "blocknum": 4, - "datahash": - "d5f4d34d42f651df92f65f7c7d7f0f4a3a6bcb53129f781f2cac17ad705f6809", - "prehash": - "dbf319ec57ff8711f9fd374f529dc66efa8907549101537be970e2f3dc2d3a86", - "channelname": "mychannel", - "txcount": 1, - "createdt": "2018-05-24T01:28:08.000Z", - "prev_blockhash": null, - "blockhash": null, - "txhash": [ - "1752ce850935e0547e78b5396f64162a09c595f9ecc514f25afe48b52fa4d840", - "3216e30109aff548cabbff21f2ff786f50b80ca13fd112dc2c8804cd73c3aebf", - "63abc90c2e071c126398a5d0657d2ff4fb066a31cbb33960d1f7b82aed49cc5e", - "5388a544555e62884fe83efe4a5b6303093c4190abd528baaf0fcd712bce4ea8", - "7149cd80783ab0a60fe54648f53044efe2fd851a51cbeba6be4cdc0becb5ea2c", - "b48754707f3db10422e927a0887672f274bee3547484e1843f4cd48fb1c1e5b4", - "eba4d3e856eb2c50d40c5180b2162faaa02c06420e969047e75ed594f03b24d1", - "d0742c955cc78c3cf4f489fe2569ef66fa1f2e391d0e4094ed393d3b5c9a7076" - ] - }, - { - "id": 17, - "blocknum": 4, - "datahash": - "93db69bdc2d47a3c0888b2afcaa15901c75e68cd0578a4d4c59f1e5bcbca5d98", - "prehash": - "86baa595a25c4e2c0527267ed71bd41a4d57947ecf667f9b3ab60ff8b7800cb5", - "channelname": "mychannel", - "txcount": 1, - "createdt": "2018-05-29T14:58:19.000Z", - "prev_blockhash": null, - "blockhash": null, - "txhash": [ - "1752ce850935e0547e78b5396f64162a09c595f9ecc514f25afe48b52fa4d840", - "3216e30109aff548cabbff21f2ff786f50b80ca13fd112dc2c8804cd73c3aebf", - "63abc90c2e071c126398a5d0657d2ff4fb066a31cbb33960d1f7b82aed49cc5e", - "5388a544555e62884fe83efe4a5b6303093c4190abd528baaf0fcd712bce4ea8", - "7149cd80783ab0a60fe54648f53044efe2fd851a51cbeba6be4cdc0becb5ea2c", - "b48754707f3db10422e927a0887672f274bee3547484e1843f4cd48fb1c1e5b4", - "eba4d3e856eb2c50d40c5180b2162faaa02c06420e969047e75ed594f03b24d1", - "d0742c955cc78c3cf4f489fe2569ef66fa1f2e391d0e4094ed393d3b5c9a7076" - ] - }, - { - "id": 5, - "blocknum": 4, - "datahash": - "da8d949558cb431a281b235861756962588cfd83f9634fe3ff004b0bfd4a7400", - "prehash": - "20272dbeca968a5575bca3002c1b498c8f3b8b1fe1f7f394bbdee61d53f34798", - "channelname": "mychannel", - "txcount": 1, - "createdt": "2018-05-15T02:04:25.000Z", - "prev_blockhash": null, - "blockhash": null, - "txhash": [ - "1752ce850935e0547e78b5396f64162a09c595f9ecc514f25afe48b52fa4d840", - "3216e30109aff548cabbff21f2ff786f50b80ca13fd112dc2c8804cd73c3aebf", - "63abc90c2e071c126398a5d0657d2ff4fb066a31cbb33960d1f7b82aed49cc5e", - "5388a544555e62884fe83efe4a5b6303093c4190abd528baaf0fcd712bce4ea8", - "7149cd80783ab0a60fe54648f53044efe2fd851a51cbeba6be4cdc0becb5ea2c", - "b48754707f3db10422e927a0887672f274bee3547484e1843f4cd48fb1c1e5b4", - "eba4d3e856eb2c50d40c5180b2162faaa02c06420e969047e75ed594f03b24d1", - "d0742c955cc78c3cf4f489fe2569ef66fa1f2e391d0e4094ed393d3b5c9a7076" - ] - }, - { - "id": 11, - "blocknum": 4, - "datahash": - "c9fe4d1a2ec771b51de25a4be6dc64cfb48f7ac2c3202be72cb323d8e0030c5a", - "prehash": - "6726dbdf0ecd761a05e06840fc59ad4e30ad24eb6791cfb62dee056d6315bced", - "channelname": "mychannel", - "txcount": 1, - "createdt": "2018-05-23T01:11:10.000Z", - "prev_blockhash": null, - "blockhash": null, - "txhash": [ - "1752ce850935e0547e78b5396f64162a09c595f9ecc514f25afe48b52fa4d840", - "3216e30109aff548cabbff21f2ff786f50b80ca13fd112dc2c8804cd73c3aebf", - "63abc90c2e071c126398a5d0657d2ff4fb066a31cbb33960d1f7b82aed49cc5e", - "5388a544555e62884fe83efe4a5b6303093c4190abd528baaf0fcd712bce4ea8", - "7149cd80783ab0a60fe54648f53044efe2fd851a51cbeba6be4cdc0becb5ea2c", - "b48754707f3db10422e927a0887672f274bee3547484e1843f4cd48fb1c1e5b4", - "eba4d3e856eb2c50d40c5180b2162faaa02c06420e969047e75ed594f03b24d1", - "d0742c955cc78c3cf4f489fe2569ef66fa1f2e391d0e4094ed393d3b5c9a7076" - ] - }, - { - "id": 12, - "blocknum": 4, - "datahash": - "fe6648b6977e3c2dcca193c499028b118a1e23830048eda2d742407532c0e37a", - "prehash": - "6a06be91413e5ca72c04b17f5351cfe3b7a49494feff1d1ec8c5de9620ef52cf", - "channelname": "mychannel", - "txcount": 1, - "createdt": "2018-05-23T15:47:38.000Z", - "prev_blockhash": null, - "blockhash": null, - "txhash": [ - "1752ce850935e0547e78b5396f64162a09c595f9ecc514f25afe48b52fa4d840", - "3216e30109aff548cabbff21f2ff786f50b80ca13fd112dc2c8804cd73c3aebf", - "63abc90c2e071c126398a5d0657d2ff4fb066a31cbb33960d1f7b82aed49cc5e", - "5388a544555e62884fe83efe4a5b6303093c4190abd528baaf0fcd712bce4ea8", - "7149cd80783ab0a60fe54648f53044efe2fd851a51cbeba6be4cdc0becb5ea2c", - "b48754707f3db10422e927a0887672f274bee3547484e1843f4cd48fb1c1e5b4", - "eba4d3e856eb2c50d40c5180b2162faaa02c06420e969047e75ed594f03b24d1", - "d0742c955cc78c3cf4f489fe2569ef66fa1f2e391d0e4094ed393d3b5c9a7076" - ] - }, - { - "id": 4, - "blocknum": 3, - "datahash": - "ebc3829870cccc087de9d8aceda77d085464a825f55c68e827aac9ab2028a441", - "prehash": - "fce876f12ebf011ad7889d68b0fbcb84346e3de083ada89a064c9abd19a0f1df", - "channelname": "mychannel", - "txcount": 1, - "createdt": "2018-05-15T02:03:32.000Z", - "prev_blockhash": null, - "blockhash": null, - "txhash": [ - "36f8ed2687460d081aa3fd7f5c2e4bd912bb0fb1a1fd7f843ff6c59603db4d15" - ] - }, - { - "id": 3, - "blocknum": 2, - "datahash": - "28024f0d3bc810be284f5149d9beefee1878fde7f87703ed21a73af197444a24", - "prehash": - "1cb3bb171ad9e63647b50e7153c9950dc4de7bd543207a41bd238b7640af309f", - "channelname": "mychannel", - "txcount": 1, - "createdt": "2018-05-15T02:03:27.000Z", - "prev_blockhash": null, - "blockhash": null, - "txhash": [""] - }, - { - "id": 2, - "blocknum": 1, - "datahash": - "fd2eaf086bd6f1457236c084847151fb6ae74311cf7244decc9e12c6e222145f", - "prehash": - "09826404c6206b44881cb06070291a993b8f8bea910716b335d10605e80cbc46", - "channelname": "mychannel", - "txcount": 1, - "createdt": "2018-05-15T02:03:24.000Z", - "prev_blockhash": null, - "blockhash": null, - "txhash": [""] - }, - { - "id": 1, - "blocknum": 0, - "datahash": - "d9b8efc5544e0dd80e579bfabbd012dfad995f012cfc9a35cb637a4ecf08f394", - "prehash": "", - "channelname": "mychannel", - "txcount": 1, - "createdt": "2018-05-15T02:03:09.000Z", - "prev_blockhash": null, - "blockhash": null, - "txhash": [""] - } - ] + "status": 200, + "rows": [ + { + "id": 18, + "blocknum": 4, + "datahash": "8f8ab6a4d8c524f7c1eb6ad63baefda7fc6600ef257c4452ebf166e1db735a91", + "prehash": "39f36405901f8a3f05787f4e31665767c94078d198f657b43ad7f3d3857563e6", + "channelname": "mychannel", + "txcount": 1, + "blksize": 5, + "createdt": "2018-06-07T02:30:58.000Z", + "prev_blockhash": null, + "blockhash": null, + "txhash": [ + "1752ce850935e0547e78b5396f64162a09c595f9ecc514f25afe48b52fa4d840", + "3216e30109aff548cabbff21f2ff786f50b80ca13fd112dc2c8804cd73c3aebf", + "63abc90c2e071c126398a5d0657d2ff4fb066a31cbb33960d1f7b82aed49cc5e", + "5388a544555e62884fe83efe4a5b6303093c4190abd528baaf0fcd712bce4ea8", + "7149cd80783ab0a60fe54648f53044efe2fd851a51cbeba6be4cdc0becb5ea2c", + "b48754707f3db10422e927a0887672f274bee3547484e1843f4cd48fb1c1e5b4", + "eba4d3e856eb2c50d40c5180b2162faaa02c06420e969047e75ed594f03b24d1", + "d0742c955cc78c3cf4f489fe2569ef66fa1f2e391d0e4094ed393d3b5c9a7076" + ] + }, + { + "id": 13, + "blocknum": 4, + "datahash": "61b47b9ced2d8077f60406f9dda7fe5a9fa4e68c29b909d7aa4b4fa3507cfbb2", + "prehash": "a966f1872e118b1c655a6dd615d6b7118ba5fef978acd411393bf6537086da4d", + "channelname": "mychannel", + "txcount": 1, + "blksize": 5, + "createdt": "2018-05-24T00:55:25.000Z", + "prev_blockhash": null, + "blockhash": null, + "txhash": [ + "1752ce850935e0547e78b5396f64162a09c595f9ecc514f25afe48b52fa4d840", + "3216e30109aff548cabbff21f2ff786f50b80ca13fd112dc2c8804cd73c3aebf", + "63abc90c2e071c126398a5d0657d2ff4fb066a31cbb33960d1f7b82aed49cc5e", + "5388a544555e62884fe83efe4a5b6303093c4190abd528baaf0fcd712bce4ea8", + "7149cd80783ab0a60fe54648f53044efe2fd851a51cbeba6be4cdc0becb5ea2c", + "b48754707f3db10422e927a0887672f274bee3547484e1843f4cd48fb1c1e5b4", + "eba4d3e856eb2c50d40c5180b2162faaa02c06420e969047e75ed594f03b24d1", + "d0742c955cc78c3cf4f489fe2569ef66fa1f2e391d0e4094ed393d3b5c9a7076" + ] + }, + { + "id": 14, + "blocknum": 4, + "datahash": "aeea392666e989b745c6d46f07b6ffcb31e136e06fdf23be684c0aa30bc7a849", + "prehash": "0c21f0815186c76c235daf5abe0f48fdefd5c59271b6059da809ac8fd0d806bc", + "channelname": "mychannel", + "txcount": 1, + "blksize": 5, + "createdt": "2018-05-24T03:12:39.000Z", + "prev_blockhash": null, + "blockhash": null, + "txhash": [ + "1752ce850935e0547e78b5396f64162a09c595f9ecc514f25afe48b52fa4d840", + "3216e30109aff548cabbff21f2ff786f50b80ca13fd112dc2c8804cd73c3aebf", + "63abc90c2e071c126398a5d0657d2ff4fb066a31cbb33960d1f7b82aed49cc5e", + "5388a544555e62884fe83efe4a5b6303093c4190abd528baaf0fcd712bce4ea8", + "7149cd80783ab0a60fe54648f53044efe2fd851a51cbeba6be4cdc0becb5ea2c", + "b48754707f3db10422e927a0887672f274bee3547484e1843f4cd48fb1c1e5b4", + "eba4d3e856eb2c50d40c5180b2162faaa02c06420e969047e75ed594f03b24d1", + "d0742c955cc78c3cf4f489fe2569ef66fa1f2e391d0e4094ed393d3b5c9a7076" + ] + }, + { + "id": 15, + "blocknum": 4, + "datahash": "d5f4d34d42f651df92f65f7c7d7f0f4a3a6bcb53129f781f2cac17ad705f6809", + "prehash": "dbf319ec57ff8711f9fd374f529dc66efa8907549101537be970e2f3dc2d3a86", + "channelname": "mychannel", + "txcount": 1, + "blksize": 5, + "createdt": "2018-05-24T01:28:08.000Z", + "prev_blockhash": null, + "blockhash": null, + "txhash": [ + "1752ce850935e0547e78b5396f64162a09c595f9ecc514f25afe48b52fa4d840", + "3216e30109aff548cabbff21f2ff786f50b80ca13fd112dc2c8804cd73c3aebf", + "63abc90c2e071c126398a5d0657d2ff4fb066a31cbb33960d1f7b82aed49cc5e", + "5388a544555e62884fe83efe4a5b6303093c4190abd528baaf0fcd712bce4ea8", + "7149cd80783ab0a60fe54648f53044efe2fd851a51cbeba6be4cdc0becb5ea2c", + "b48754707f3db10422e927a0887672f274bee3547484e1843f4cd48fb1c1e5b4", + "eba4d3e856eb2c50d40c5180b2162faaa02c06420e969047e75ed594f03b24d1", + "d0742c955cc78c3cf4f489fe2569ef66fa1f2e391d0e4094ed393d3b5c9a7076" + ] + }, + { + "id": 17, + "blocknum": 4, + "datahash": "93db69bdc2d47a3c0888b2afcaa15901c75e68cd0578a4d4c59f1e5bcbca5d98", + "prehash": "86baa595a25c4e2c0527267ed71bd41a4d57947ecf667f9b3ab60ff8b7800cb5", + "channelname": "mychannel", + "txcount": 1, + "blksize": 5, + "createdt": "2018-05-29T14:58:19.000Z", + "prev_blockhash": null, + "blockhash": null, + "txhash": [ + "1752ce850935e0547e78b5396f64162a09c595f9ecc514f25afe48b52fa4d840", + "3216e30109aff548cabbff21f2ff786f50b80ca13fd112dc2c8804cd73c3aebf", + "63abc90c2e071c126398a5d0657d2ff4fb066a31cbb33960d1f7b82aed49cc5e", + "5388a544555e62884fe83efe4a5b6303093c4190abd528baaf0fcd712bce4ea8", + "7149cd80783ab0a60fe54648f53044efe2fd851a51cbeba6be4cdc0becb5ea2c", + "b48754707f3db10422e927a0887672f274bee3547484e1843f4cd48fb1c1e5b4", + "eba4d3e856eb2c50d40c5180b2162faaa02c06420e969047e75ed594f03b24d1", + "d0742c955cc78c3cf4f489fe2569ef66fa1f2e391d0e4094ed393d3b5c9a7076" + ] + }, + { + "id": 5, + "blocknum": 4, + "datahash": "da8d949558cb431a281b235861756962588cfd83f9634fe3ff004b0bfd4a7400", + "prehash": "20272dbeca968a5575bca3002c1b498c8f3b8b1fe1f7f394bbdee61d53f34798", + "channelname": "mychannel", + "txcount": 1, + "blksize": 5, + "createdt": "2018-05-15T02:04:25.000Z", + "prev_blockhash": null, + "blockhash": null, + "txhash": [ + "1752ce850935e0547e78b5396f64162a09c595f9ecc514f25afe48b52fa4d840", + "3216e30109aff548cabbff21f2ff786f50b80ca13fd112dc2c8804cd73c3aebf", + "63abc90c2e071c126398a5d0657d2ff4fb066a31cbb33960d1f7b82aed49cc5e", + "5388a544555e62884fe83efe4a5b6303093c4190abd528baaf0fcd712bce4ea8", + "7149cd80783ab0a60fe54648f53044efe2fd851a51cbeba6be4cdc0becb5ea2c", + "b48754707f3db10422e927a0887672f274bee3547484e1843f4cd48fb1c1e5b4", + "eba4d3e856eb2c50d40c5180b2162faaa02c06420e969047e75ed594f03b24d1", + "d0742c955cc78c3cf4f489fe2569ef66fa1f2e391d0e4094ed393d3b5c9a7076" + ] + }, + { + "id": 11, + "blocknum": 4, + "datahash": "c9fe4d1a2ec771b51de25a4be6dc64cfb48f7ac2c3202be72cb323d8e0030c5a", + "prehash": "6726dbdf0ecd761a05e06840fc59ad4e30ad24eb6791cfb62dee056d6315bced", + "channelname": "mychannel", + "txcount": 1, + "blksize": 5, + "createdt": "2018-05-23T01:11:10.000Z", + "prev_blockhash": null, + "blockhash": null, + "txhash": [ + "1752ce850935e0547e78b5396f64162a09c595f9ecc514f25afe48b52fa4d840", + "3216e30109aff548cabbff21f2ff786f50b80ca13fd112dc2c8804cd73c3aebf", + "63abc90c2e071c126398a5d0657d2ff4fb066a31cbb33960d1f7b82aed49cc5e", + "5388a544555e62884fe83efe4a5b6303093c4190abd528baaf0fcd712bce4ea8", + "7149cd80783ab0a60fe54648f53044efe2fd851a51cbeba6be4cdc0becb5ea2c", + "b48754707f3db10422e927a0887672f274bee3547484e1843f4cd48fb1c1e5b4", + "eba4d3e856eb2c50d40c5180b2162faaa02c06420e969047e75ed594f03b24d1", + "d0742c955cc78c3cf4f489fe2569ef66fa1f2e391d0e4094ed393d3b5c9a7076" + ] + }, + { + "id": 12, + "blocknum": 4, + "datahash": "fe6648b6977e3c2dcca193c499028b118a1e23830048eda2d742407532c0e37a", + "prehash": "6a06be91413e5ca72c04b17f5351cfe3b7a49494feff1d1ec8c5de9620ef52cf", + "channelname": "mychannel", + "txcount": 1, + "blksize": 5, + "createdt": "2018-05-23T15:47:38.000Z", + "prev_blockhash": null, + "blockhash": null, + "txhash": [ + "1752ce850935e0547e78b5396f64162a09c595f9ecc514f25afe48b52fa4d840", + "3216e30109aff548cabbff21f2ff786f50b80ca13fd112dc2c8804cd73c3aebf", + "63abc90c2e071c126398a5d0657d2ff4fb066a31cbb33960d1f7b82aed49cc5e", + "5388a544555e62884fe83efe4a5b6303093c4190abd528baaf0fcd712bce4ea8", + "7149cd80783ab0a60fe54648f53044efe2fd851a51cbeba6be4cdc0becb5ea2c", + "b48754707f3db10422e927a0887672f274bee3547484e1843f4cd48fb1c1e5b4", + "eba4d3e856eb2c50d40c5180b2162faaa02c06420e969047e75ed594f03b24d1", + "d0742c955cc78c3cf4f489fe2569ef66fa1f2e391d0e4094ed393d3b5c9a7076" + ] + }, + { + "id": 4, + "blocknum": 3, + "datahash": "ebc3829870cccc087de9d8aceda77d085464a825f55c68e827aac9ab2028a441", + "prehash": "fce876f12ebf011ad7889d68b0fbcb84346e3de083ada89a064c9abd19a0f1df", + "channelname": "mychannel", + "txcount": 1, + "blksize": 5, + "createdt": "2018-05-15T02:03:32.000Z", + "prev_blockhash": null, + "blockhash": null, + "txhash": [ + "36f8ed2687460d081aa3fd7f5c2e4bd912bb0fb1a1fd7f843ff6c59603db4d15" + ] + }, + { + "id": 3, + "blocknum": 2, + "datahash": "28024f0d3bc810be284f5149d9beefee1878fde7f87703ed21a73af197444a24", + "prehash": "1cb3bb171ad9e63647b50e7153c9950dc4de7bd543207a41bd238b7640af309f", + "channelname": "mychannel", + "txcount": 1, + "blksize": 5, + "createdt": "2018-05-15T02:03:27.000Z", + "prev_blockhash": null, + "blockhash": null, + "txhash": [""] + }, + { + "id": 2, + "blocknum": 1, + "datahash": "fd2eaf086bd6f1457236c084847151fb6ae74311cf7244decc9e12c6e222145f", + "prehash": "09826404c6206b44881cb06070291a993b8f8bea910716b335d10605e80cbc46", + "channelname": "mychannel", + "txcount": 1, + "blksize": 5, + "createdt": "2018-05-15T02:03:24.000Z", + "prev_blockhash": null, + "blockhash": null, + "txhash": [""] + }, + { + "id": 1, + "blocknum": 0, + "datahash": "d9b8efc5544e0dd80e579bfabbd012dfad995f012cfc9a35cb637a4ecf08f394", + "prehash": "", + "channelname": "mychannel", + "txcount": 1, + "blksize": 5, + "createdt": "2018-05-15T02:03:09.000Z", + "prev_blockhash": null, + "blockhash": null, + "txhash": [""] + } + ] } diff --git a/client/src/components/Lists/Blocks.js b/client/src/components/Lists/Blocks.js index 392b11e47..5360203f1 100644 --- a/client/src/components/Lists/Blocks.js +++ b/client/src/components/Lists/Blocks.js @@ -389,6 +389,19 @@ export class Blocks extends Component { { threshold: matchSorter.rankings.SIMPLEMATCH } ), filterAll: true + }, + { + Header: 'Size(KB)', + accessor: 'blksize', + filterMethod: (filter, rows) => + matchSorter( + rows, + filter.value, + { keys: ['blksize'] }, + { threshold: matchSorter.rankings.SIMPLEMATCH } + ), + filterAll: true, + width: 150 } ];