From 31373c535163dd2fd1ef6f8acbf0cd5794a53f48 Mon Sep 17 00:00:00 2001 From: Jordi Goyanes Granados Date: Sat, 31 Mar 2018 05:09:49 +0200 Subject: [PATCH] Order blocks by block number, not timestamp When running this api with nodeos (dawn 3.0), the list of blocks returned by the /v1/blocks endpoint isn't ordered very accurately. I guess this happens because nodeos produces blocks every 500ms, so it's 2 blocks in the same second. By ordering the list of latest blocks by their block number, we know it's accurate as printed by nodeos. --- src/api/models/block.model.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/api/models/block.model.js b/src/api/models/block.model.js index 0c3384e..95ec20e 100644 --- a/src/api/models/block.model.js +++ b/src/api/models/block.model.js @@ -143,7 +143,7 @@ blockSchema.statics = { }, /** - * List Blocks in descending order of 'createdAt' timestamp. + * List Blocks in descending order of their block number (block_num). * * @param {number} skip - Number of entities to be skipped. * @param {number} limit - Limit number of entities to be returned. @@ -152,7 +152,7 @@ blockSchema.statics = { * @param {Object|String} [projection] - Mongoose `select()` arg denoting fields to include or exclude * @returns {Promise} */ - list({ skip = 0, limit = 30, sort = { timestamp: -1 }, filter, projection }) { + list({ skip = 0, limit = 30, sort = { block_num: -1 }, filter, projection }) { const $match = isEmpty(filter) ? {} : filter; const $subSelect = {};