code: function getMaxMciByRoundIndex(conn, roundIndex, callback){
      if(roundIndex === 0)
          return callback(0);
      if (assocCachedMaxMci[roundIndex]){
          console.log("RoundCacheLog:use:getMaxMciByRoundIndex->assocCachedMaxMci,roundIndex:" + roundIndex);
          return callback(assocCachedMaxMci[roundIndex]);
      }
      conn.query(
          "select max(main_chain_index) AS max_mci from units \n\
          where is_on_main_chain=1 AND is_stable=1 AND pow_type=? AND round_index=?", 
          [constants.POW_TYPE_TRUSTME, roundIndex],
          function(rows){
              if (rows.length !== 1)
                  throw Error("Can not find max mci ");
              console.log("RoundCacheLog:push:getMaxMciByRoundIndex->assocCachedMaxMci,roundIndex:" + roundIndex);
              assocCachedMaxMci[roundIndex] = rows[0].max_mci;
              callback(rows[0].max_mci);
          }
      );
  }
docs: used by explorer function getSumCoinbaseByEndRoundIndex(endRoundIndex){ var sum = 0; for (var beginRound = 1; beginRound <= endRoundIndex; beginRound++){ sum = sum + getCoinbaseByRoundIndex(beginRound); } return sum; }