diff --git a/hive/db/schema.py b/hive/db/schema.py
index 4e0a29d3449a6102e7b09b5f9afa3e57b9593ee1..8eedc803d85fd9d300cd4bf4609e1de023d048f9 100644
--- a/hive/db/schema.py
+++ b/hive/db/schema.py
@@ -602,7 +602,8 @@ def setup(db):
       "condenser_get_names_by_reblogged.sql",
       "condenser_get_discussions_by_comments.sql",
       "condenser_get_account_reputations.sql",
-      "update_follow_count.sql"
+      "update_follow_count.sql",
+      "delete_reblog_feed_cache.sql"
     ]
     from os.path import dirname, realpath
     dir_path = dirname(realpath(__file__))
diff --git a/hive/db/sql_scripts/bridge_get_by_feed_with_reblog.sql b/hive/db/sql_scripts/bridge_get_by_feed_with_reblog.sql
index 1448a9350cc6e4fbe18c1d0d95cbb7fe493875ed..4e113df14080a20f32640ca4256c012efcfb0d23 100644
--- a/hive/db/sql_scripts/bridge_get_by_feed_with_reblog.sql
+++ b/hive/db/sql_scripts/bridge_get_by_feed_with_reblog.sql
@@ -72,10 +72,10 @@ BEGIN
       WHERE hfc.block_num > __cutoff AND hf.state = 1 AND hf.follower = __account_id
       GROUP BY hfc.post_id
       HAVING __post_id = 0 OR MIN(hfc.created_at) <= __min_date 
-      ORDER BY min_created DESC
+      ORDER BY min_created DESC, hfc.post_id DESC
       LIMIT _limit
     ) T ON hp.id =  T.post_id
-    ORDER BY T.min_created DESC;
+    ORDER BY T.min_created DESC, T.post_id DESC;
 END
 $BODY$
 ;
diff --git a/hive/db/sql_scripts/delete_reblog_feed_cache.sql b/hive/db/sql_scripts/delete_reblog_feed_cache.sql
new file mode 100644
index 0000000000000000000000000000000000000000..39ae1e1edd5969df65670e448428d70264b5a2c1
--- /dev/null
+++ b/hive/db/sql_scripts/delete_reblog_feed_cache.sql
@@ -0,0 +1,34 @@
+
+DROP FUNCTION IF EXISTS delete_reblog_feed_cache(character varying,character varying,character varying)
+;
+
+CREATE OR REPLACE FUNCTION delete_reblog_feed_cache(
+  in _author hive_accounts.name%TYPE,
+  in _permlink hive_permlink_data.permlink%TYPE,
+  in _account hive_accounts.name%TYPE)
+RETURNS INTEGER
+LANGUAGE plpgsql
+AS
+$function$
+DECLARE
+  __account_id INT;
+  __post_id INT;
+BEGIN
+
+  __account_id = find_account_id( _account, False );
+  __post_id = find_comment_id( _author, _permlink, False );
+
+  IF __post_id = 0 THEN
+    RETURN 0;
+  END IF;
+
+  DELETE FROM hive_reblogs
+  WHERE blogger_id = __account_id AND post_id = __post_id;
+
+  DELETE FROM hive_feed_cache
+  WHERE account_id = __account_id AND post_id = __post_id;
+
+  RETURN 1;
+END
+$function$
+;
diff --git a/hive/db/sql_scripts/hive_post_operations.sql b/hive/db/sql_scripts/hive_post_operations.sql
index 63a3d9d5b3ec7d039079ff8615f9d85c24a159fe..099380bbc3cbb403d4f5aca9f71556d1b6b0c860 100644
--- a/hive/db/sql_scripts/hive_post_operations.sql
+++ b/hive/db/sql_scripts/hive_post_operations.sql
@@ -150,26 +150,38 @@ CREATE OR REPLACE FUNCTION delete_hive_post(
   in _author hive_accounts.name%TYPE,
   in _permlink hive_permlink_data.permlink%TYPE,
   in _block_num hive_blocks.num%TYPE)
-RETURNS TABLE (id hive_posts.id%TYPE, depth hive_posts.depth%TYPE)
+RETURNS VOID
 LANGUAGE plpgsql
 AS
 $function$
+DECLARE
+  __post_id INT;
 BEGIN
-  RETURN QUERY UPDATE hive_posts AS hp
-    SET counter_deleted =
-    (
+
+  __post_id = find_comment_id( _author, _permlink, False );
+
+  IF __post_id = 0 THEN
+    RETURN;
+  END IF;
+
+  UPDATE hive_posts
+  SET counter_deleted =
+  (
       SELECT max( hps.counter_deleted ) + 1
       FROM hive_posts hps
       INNER JOIN hive_accounts ha ON hps.author_id = ha.id
       INNER JOIN hive_permlink_data hpd ON hps.permlink_id = hpd.id
       WHERE ha.name = _author AND hpd.permlink = _permlink
-    )
-    , block_num = _block_num
-  FROM hive_posts hp1
-  INNER JOIN hive_accounts ha ON hp1.author_id = ha.id
-  INNER JOIN hive_permlink_data hpd ON hp1.permlink_id = hpd.id
-  WHERE hp.id = hp1.id AND ha.name = _author AND hpd.permlink = _permlink AND hp1.counter_deleted = 0
-  RETURNING hp.id, hp.depth;
+  )
+  ,block_num = _block_num
+  WHERE id = __post_id;
+
+  DELETE FROM hive_reblogs
+  WHERE post_id = __post_id;
+
+  DELETE FROM hive_feed_cache
+  WHERE post_id = __post_id;
+
 END
 $function$
 ;
diff --git a/hive/indexer/feed_cache.py b/hive/indexer/feed_cache.py
deleted file mode 100644
index 3dc4d3b32d33de0dbb2851a57fb77e5af64b8206..0000000000000000000000000000000000000000
--- a/hive/indexer/feed_cache.py
+++ /dev/null
@@ -1,29 +0,0 @@
-"""Maintains feed cache (blogs + reblogs)"""
-
-import logging
-from hive.db.adapter import Db
-from hive.indexer.db_adapter_holder import DbAdapterHolder
-
-log = logging.getLogger(__name__)
-
-DB = Db.instance()
-
-class FeedCache(DbAdapterHolder):
-    """Maintains `hive_feed_cache`, which merges posts and reports.
-
-    The feed cache allows for efficient querying of posts + reblogs,
-    savings us from expensive queries. Effectively a materialized view.
-    """
-    @classmethod
-    def delete(cls, post_id, account_id=None):
-        """Remove a post from feed cache.
-
-        If `account_id` is specified, we remove a single entry (e.g. a
-        singular un-reblog). Otherwise, we remove all instances of the
-        post (e.g. a post was deleted; its entry and all reblogs need
-        to be removed.
-        """
-        sql = "DELETE FROM hive_feed_cache WHERE post_id = :id"
-        if account_id:
-            sql = sql + " AND account_id = :account_id"
-        DB.query(sql, account_id=account_id, id=post_id)
diff --git a/hive/indexer/posts.py b/hive/indexer/posts.py
index 33ec87431464d23342551fcdd8c5aef9197403e1..96f535be9123278163ebb92ddbb302661329d8ee 100644
--- a/hive/indexer/posts.py
+++ b/hive/indexer/posts.py
@@ -10,7 +10,7 @@ from diff_match_patch import diff_match_patch
 from hive.db.adapter import Db
 from hive.db.db_state import DbState
 
-from hive.indexer.feed_cache import FeedCache
+from hive.indexer.reblog import Reblog
 from hive.indexer.community import Community
 from hive.indexer.notify import Notify
 from hive.indexer.post_data_cache import PostDataCache
@@ -390,22 +390,8 @@ class Posts(DbAdapterHolder):
     @classmethod
     def delete(cls, op):
         """Marks a post record as being deleted."""
-
-        sql = """
-              SELECT id, depth
-              FROM delete_hive_post((:author)::varchar, (:permlink)::varchar, (:block_num)::int);
-              """
-        row = DB.query_row(sql, author=op['author'], permlink = op['permlink'], block_num=op['block_num'])
-
-        result = dict(row)
-        pid = result['id']
-
-        depth = result['depth']
-
-        if depth == 0 and not DbState.is_initial_sync():
-            # TODO: delete from hive_reblogs -- otherwise feed cache gets
-            # populated with deleted posts somwrimas
-            FeedCache.delete(pid)
+        sql = "SELECT delete_hive_post((:author)::varchar, (:permlink)::varchar, (:block_num)::int );"
+        DB.query_no_return(sql, author=op['author'], permlink = op['permlink'], block_num=op['block_num'])
 
     @classmethod
     def _verify_post_against_community(cls, op, community_id, is_valid, is_muted):
diff --git a/hive/indexer/reblog.py b/hive/indexer/reblog.py
index 983655926c9a1e5acc80448f41033a980de7a03b..f126b8024c686b2c72c70e55074a1193b42be872 100644
--- a/hive/indexer/reblog.py
+++ b/hive/indexer/reblog.py
@@ -2,59 +2,69 @@
 
 import logging
 
+from hive.db.adapter import Db
 from hive.db.db_state import DbState
 
 from hive.indexer.accounts import Accounts
-from hive.indexer.feed_cache import FeedCache
 from hive.indexer.db_adapter_holder import DbAdapterHolder
 from hive.utils.normalize import escape_characters
 
 log = logging.getLogger(__name__)
-
-DELETE_SQL = """
-    WITH processing_set AS (
-        SELECT hp.id as post_id, ha.id as account_id
-        FROM hive_posts hp
-        INNER JOIN hive_accounts ha ON hp.author_id = ha.id
-        INNER JOIN hive_permlink_data hpd ON hp.permlink_id = hpd.id
-        WHERE ha.name = :a AND hpd.permlink = :permlink AND hp.depth = 0 AND hp.counter_deleted = 0
-    )
-    DELETE FROM hive_reblogs AS hr
-    WHERE hr.account = :a AND hr.post_id IN (SELECT ps.post_id FROM processing_set ps)
-    RETURNING hr.post_id, (SELECT ps.account_id FROM processing_set ps) AS account_id
-"""
+DB = Db.instance()
 
 class Reblog(DbAdapterHolder):
     """ Class for reblog operations """
-    reblog_items_to_flush = []
+    deleted_reblog_items = {}
+    reblog_items_to_flush = {}
 
     @classmethod
-    def reblog_op(cls, account, op_json, block_date, block_num):
-        """ Process reblog operation """
-        if 'account' not in op_json or \
-            'author' not in op_json or \
-            'permlink' not in op_json:
-            return
+    def _validated_op(cls, actor, op, block_date, block_num):
+        if 'account' not in op or \
+            'author' not in op or \
+            'permlink' not in op:
+            return None
+
+        if op['account'] != actor:
+            return None # impersonation
 
-        blogger = op_json['account']
-        author = op_json['author']
-        permlink = escape_characters(op_json['permlink'])
+        if not Accounts.exists(op['account']):
+            return None
+        if not Accounts.exists(op['author']):
+            return None
 
-        if blogger != account:
-            return  # impersonation
-        if not all(map(Accounts.exists, [author, blogger])):
+        _delete = True if ('delete' in op and op['delete'] == 'delete') else False
+
+        return dict(author = op['author'],
+                    permlink = op['permlink'],
+                    account = op['account'],
+                    block_date = block_date,
+                    block_num = block_num,
+                    delete = _delete )
+
+    @classmethod
+    def reblog_op(cls, actor, op, block_date, block_num):
+        """ Process reblog operation """
+        op = cls._validated_op(actor, op, block_date, block_num)
+        if not op:
             return
 
-        if 'delete' in op_json and op_json['delete'] == 'delete':
-            row = cls.db.query_row(DELETE_SQL, a=blogger, permlink=permlink)
-            if row is None:
-                log.debug("reblog: post not found: %s/%s", author, op_json['permlink'])
-                return
-            if not DbState.is_initial_sync():
-                result = dict(row)
-                FeedCache.delete(result['post_id'], result['account_id'])
+        key = "{}/{}/{}".format(op['author'], op['permlink'], op['account'])
+
+        if op['delete']:
+            cls.deleted_reblog_items[key] = {}
+            cls.delete( op['author'], op['permlink'], op['account'] )
         else:
-            cls.reblog_items_to_flush.append((blogger, author, permlink, block_date, block_num))
+            cls.reblog_items_to_flush[key] = { 'op': op }
+
+    @classmethod
+    def delete(cls, author, permlink, account ):
+        """Remove a reblog from hive_reblogs + feed from hive_feed_cache.
+        """
+        sql = "SELECT delete_reblog_feed_cache( (:author)::VARCHAR, (:permlink)::VARCHAR, (:account)::VARCHAR );"
+        status = DB.query_col(sql, author=author, permlink=permlink, account=account);
+        assert status is not None
+        if status == 0:
+          log.debug("reblog: post not found: %s/%s", author, permlink)
 
     @classmethod
     def flush(cls):
@@ -74,7 +84,7 @@ class Reblog(DbAdapterHolder):
                     INNER JOIN hive_accounts ha ON ha.name = t.author
                     INNER JOIN hive_accounts ha_b ON ha_b.name = t.blogger
                     INNER JOIN hive_permlink_data hpd ON hpd.permlink = t.permlink
-                    INNER JOIN hive_posts hp ON hp.author_id = ha.id AND hp.permlink_id = hpd.id
+                    INNER JOIN hive_posts hp ON hp.author_id = ha.id AND hp.permlink_id = hpd.id AND hp.counter_deleted = 0
             ) AS data_source (blogger_id, post_id, created_at, block_num)
             ON CONFLICT ON CONSTRAINT hive_reblogs_ux1 DO NOTHING
         """
@@ -85,24 +95,27 @@ class Reblog(DbAdapterHolder):
             limit = 1000
             count = 0
             cls.beginTx()
-            for reblog_item in cls.reblog_items_to_flush:
+            for k, v in cls.reblog_items_to_flush.items():
+                if k in cls.deleted_reblog_items:
+                  continue
+                reblog_item = v['op']
                 if count < limit:
-                    values.append("('{}', '{}', {}, '{}'::timestamp, {})".format(reblog_item[0],
-                                                                                   reblog_item[1],
-                                                                                   reblog_item[2],
-                                                                                   reblog_item[3],
-                                                                                   reblog_item[4]))
+                    values.append("({}, {}, {}, '{}'::timestamp, {})".format(escape_characters(reblog_item['account']),
+                                                                                escape_characters(reblog_item['author']),
+                                                                                escape_characters(reblog_item['permlink']),
+                                                                                reblog_item['block_date'],
+                                                                                reblog_item['block_num']))
                     count = count + 1
                 else:
                     values_str = ",".join(values)
                     query = sql_prefix.format(values_str, values_str)
                     cls.db.query(query)
                     values.clear()
-                    values.append("('{}', '{}', {}, '{}'::timestamp, {})".format(reblog_item[0],
-                                                                                   reblog_item[1],
-                                                                                   reblog_item[2],
-                                                                                   reblog_item[3],
-                                                                                   reblog_item[4]))
+                    values.append("({}, {}, {}, '{}'::timestamp, {})".format(escape_characters(reblog_item['account']),
+                                                                                escape_characters(reblog_item['author']),
+                                                                                escape_characters(reblog_item['permlink']),
+                                                                                reblog_item['block_date'],
+                                                                                reblog_item['block_num']))
                     count = 1
 
             if len(values) > 0:
@@ -112,4 +125,6 @@ class Reblog(DbAdapterHolder):
             cls.commitTx()
             cls.reblog_items_to_flush.clear()
 
+        cls.deleted_reblog_items.clear();
+
         return item_count
diff --git a/hive/server/condenser_api/objects.py b/hive/server/condenser_api/objects.py
index 3d7c04a4562ad2955e131ac45a07bb96498f15d2..5ec38b8883b8fe1efcd5717336fc6bf757764801 100644
--- a/hive/server/condenser_api/objects.py
+++ b/hive/server/condenser_api/objects.py
@@ -44,15 +44,15 @@ def _condenser_post_object(row, truncate_body=0, get_content_additions=False):
     """Given a hive_posts row, create a legacy-style post object."""
     paid = row['is_paidout']
 
-    # condenser#3424 mitigation
-    if not row['category']:
-        row['category'] = 'undefined'
-
     full_payout = row['pending_payout'] + row['payout'];
     post = {}
     post['author'] = row['author']
     post['permlink'] = row['permlink']
-    post['category'] = row['category']
+
+    if not row['category']:
+      post['category'] = 'undefined' # condenser#3424 mitigation
+    else:
+      post['category'] = row['category']
 
     post['title'] = row['title']
     post['body'] = row['body'][0:truncate_body] if truncate_body else row['body']
diff --git a/mock_data/block_data/reblog_op/flow.txt b/mock_data/block_data/reblog_op/flow.txt
index 16a6c1d3a803e94ce1a4c056d2da3e55156882c7..9e6c0d69cc811521665e99546882c280c3f0f26f 100644
--- a/mock_data/block_data/reblog_op/flow.txt
+++ b/mock_data/block_data/reblog_op/flow.txt
@@ -1,4 +1,80 @@
 ***block 4999999***
 custom_json_operation("[\"reblog\",{\"account\":\"funny\",\"author\":\"steemit\",\"permlink\":\"firstpost\"}]") - very old post
 custom_json_operation("[\"reblog\",{\"account\":\"funny\",\"author\":\"steak\",\"permlink\":\"streak-test\"}]") - deleted post (should not be reblogged)
-custom_json_operation("[\"reblog\",{\"account\":\"funny\",\"author\":\"dollarvigilante\",\"permlink\":\"another-billionaire-warns-of-catastrophic-depths-not-seen-in-5-000-years-and-emphasizes-gold\"}]") - fresh post
\ No newline at end of file
+custom_json_operation("[\"reblog\",{\"account\":\"funny\",\"author\":\"dollarvigilante\",\"permlink\":\"another-billionaire-warns-of-catastrophic-depths-not-seen-in-5-000-years-and-emphasizes-gold\"}]") - fresh post
+account_create_operation( `test-reblog-01` )
+account_create_operation( `test-reblog-02` )
+account_create_operation( `test-reblog-03` )
+account_create_operation( `test-reblog-04` )
+account_create_operation( `test-reblog-05` )
+account_create_operation( `test-reblog-06` )
+comment_operation( `test-reblog-01`, `parrot-01`)
+comment_operation( `test-reblog-02`, `parrot-02`)
+comment_operation( `test-reblog-03`, `parrot-03`)
+comment_operation( `test-reblog-04`, `parrot-04`)
+comment_operation( `test-reblog-05`, `parrot-05`)
+comment_operation( `test-reblog-06`, `parrot-06`)
+***block 5000000***
+custom_json_operation("{\"account\":\"test-reblog-01\",\"author\":\"test-reblog-02\",\"permlink\":\"parrot-02\"}")
+custom_json_operation("{\"account\":\"test-reblog-01\",\"author\":\"test-reblog-03\",\"permlink\":\"parrot-03\"}")
+custom_json_operation("{\"account\":\"test-reblog-01\",\"author\":\"test-reblog-04\",\"permlink\":\"parrot-04\"}")
+custom_json_operation("{\"delete\":\"delete\",\"account\":\"test-reblog-01\",\"author\":\"test-reblog-04\",\"permlink\":\"parrot-04\"}")
+custom_json_operation("{\"delete\":\"delete\",\"account\":\"test-reblog-01\",\"author\":\"test-reblog-03\",\"permlink\":\"parrot-03\"}")
+custom_json_operation("{\"delete\":\"delete\",\"account\":\"test-reblog-01\",\"author\":\"test-reblog-02\",\"permlink\":\"parrot-02\"}")
+
+***block 5000001***
+custom_json_operation("{\"account\":\"test-reblog-02\",\"author\":\"test-reblog-01\",\"permlink\":\"parrot-01\"}")
+custom_json_operation("{\"account\":\"test-reblog-02\",\"author\":\"test-reblog-02\",\"permlink\":\"parrot-02\"}")
+custom_json_operation("{\"account\":\"test-reblog-02\",\"author\":\"test-reblog-03\",\"permlink\":\"parrot-03\"}")
+custom_json_operation("{\"account\":\"test-reblog-03\",\"author\":\"test-reblog-02\",\"permlink\":\"parrot-02\"}")
+custom_json_operation("{\"account\":\"test-reblog-03\",\"author\":\"test-reblog-03\",\"permlink\":\"parrot-03\"}")
+custom_json_operation("{\"account\":\"test-reblog-03\",\"author\":\"test-reblog-04\",\"permlink\":\"parrot-04\"}")
+***block 5000002***
+custom_json_operation("{\"account\":\"test-reblog-04\",\"author\":\"test-reblog-04\",\"permlink\":\"parrot-04\"}")
+custom_json_operation("{\"account\":\"test-reblog-05\",\"author\":\"test-reblog-05\",\"permlink\":\"parrot-05\"}")
+custom_json_operation("{\"account\":\"test-reblog-06\",\"author\":\"test-reblog-06\",\"permlink\":\"parrot-06\"}")
+custom_json_operation("{\"account\":\"test-reblog-06\",\"author\":\"test-reblog-05\",\"permlink\":\"parrot-05\"}")
+custom_json_operation("{\"delete\":\"delete\",\"account\":\"test-reblog-04\",\"author\":\"test-reblog-04\",\"permlink\":\"parrot-04\"}")
+custom_json_operation("{\"delete\":\"delete\",\"account\":\"test-reblog-06\",\"author\":\"test-reblog-06\",\"permlink\":\"parrot-06\"}")
+***block 5000003***
+custom_json_operation("{\"delete\":\"delete\",\"account\":\"test-reblog-05\",\"author\":\"test-reblog-05\",\"permlink\":\"parrot-05\"}")
+custom_json_operation("{\"delete\":\"delete\",\"account\":\"test-reblog-06\",\"author\":\"test-reblog-05\",\"permlink\":\"parrot-05\"}")
+***block 5000004***
+custom_json_operation("{\"account\":\"test-reblog-04\",\"author\":\"test-reblog-04\",\"permlink\":\"parrot-04\"}")
+custom_json_operation("{\"account\":\"test-reblog-05\",\"author\":\"test-reblog-05\",\"permlink\":\"parrot-05\"}")
+custom_json_operation("{\"account\":\"test-reblog-06\",\"author\":\"test-reblog-06\",\"permlink\":\"parrot-06\"}")
+custom_json_operation("{\"account\":\"test-reblog-06\",\"author\":\"test-reblog-05\",\"permlink\":\"parrot-05\"}")
+delete_comment_operation(`test-reblog-04`, `parrot-04`)
+delete_comment_operation(`test-reblog-05`, `parrot-05`)
+***block 5000005***
+delete_comment_operation(`test-reblog-06`, `parrot-06`)
+comment_operation( `test-reblog-01`, `monkey-01`)
+comment_operation( `test-reblog-01`, `monkey-02`)
+comment_operation( `test-reblog-01`, `monkey-03`)
+comment_operation( `test-reblog-01`, `monkey-04`)
+comment_operation( `test-reblog-01`, `monkey-05`)
+custom_json_operation("{\"account\":\"test-reblog-01\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-01\"}")
+delete_comment_operation(`test-reblog-01`, `monkey-01`)
+***block 5000006***
+custom_json_operation("{\"account\":\"test-reblog-01\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-02\"}")
+custom_json_operation("{\"account\":\"test-reblog-03\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-02\"}")
+custom_json_operation("{\"account\":\"test-reblog-04\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-02\"}")
+***block 5000007***
+delete_comment_operation(`test-reblog-01`, `monkey-02`)
+custom_json_operation("{\"delete\":\"delete\",\"account\":\"test-reblog-03\",\"author\":\"test-reblog-04\",\"permlink\":\"parrot-04\"}")
+custom_json_operation("{\"account\":\"test-reblog-01\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-03\"}")
+custom_json_operation("{\"account\":\"test-reblog-02\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-03\"}")
+custom_json_operation("{\"account\":\"test-reblog-03\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-03\"}")
+custom_json_operation("{\"account\":\"test-reblog-04\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-03\"}")
+custom_json_operation("{\"account\":\"test-reblog-05\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-03\"}")
+custom_json_operation("{\"account\":\"test-reblog-05\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-04\"}")
+custom_json_operation("{\"account\":\"test-reblog-05\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-05\"}")
+***block 5000008***
+custom_json_operation("{\"delete\":\"delete\",\"account\":\"test-reblog-05\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-04\"}")
+custom_json_operation("{\"account\":\"test-reblog-05\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-04\"}")
+custom_json_operation("{\"delete\":\"delete\",\"account\":\"test-reblog-05\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-04\"}")
+custom_json_operation("{\"delete\":\"delete\",\"account\":\"test-reblog-05\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-04\"}")
+***block 5000009***
+delete_comment_operation(`test-reblog-01`, `monkey-04`)
+***block 5000010***
+***block 5000011***
diff --git a/mock_data/block_data/reblog_op/mock_block_data_reblog.json b/mock_data/block_data/reblog_op/mock_block_data_reblog.json
index 27f43c34d30aaf100fe75d168d148969dd9adfe6..24f07cc5b701c94829e79456576f6bf8281355f4 100644
--- a/mock_data/block_data/reblog_op/mock_block_data_reblog.json
+++ b/mock_data/block_data/reblog_op/mock_block_data_reblog.json
@@ -6,16 +6,867 @@
     "transaction_merkle_root": "",
     "extensions": [],
     "witness_signature": "",
-    "transactions": [],
+    "transactions": [
+      {
+        "ref_block_num": 100000,
+        "ref_block_prefix": 0,
+        "expiration": "2020-03-23T12:08:00",
+        "operations": [
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "funny"
+              ],
+              "id": "follow",
+              "json": "[\"reblog\",{\"account\":\"funny\",\"author\":\"steemit\",\"permlink\":\"fi\nrst'%@post\"}]"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "funny"
+              ],
+              "id": "follow",
+              "json": "[\"reblog\",{\"account\":\"funny\",\"author\":\"steemit\",\"permlink\":\"firstpost\"}]"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "funny"
+              ],
+              "id": "follow",
+              "json": "[\"reblog\",{\"account\":\"funny\",\"author\":\"steak\",\"permlink\":\"streak-test\"}]"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "funny"
+              ],
+              "id": "follow",
+              "json": "[\"reblog\",{\"account\":\"funny\",\"author\":\"dollarvigilante\",\"permlink\":\"another-billionaire-warns-of-catastrophic-depths-not-seen-in-5-000-years-and-emphasizes-gold\"}]"
+            }
+          },
+          {
+            "type": "account_create_operation",
+            "value": {
+              "creator": "test-safari",
+              "new_account_name": "test-reblog-01",
+              "owner": {
+                "weight_threshold": 1,
+                "account_auths": [],
+                "key_auths": [
+                  [
+                    "",
+                    1
+                  ]
+                ]
+              },
+              "active": {
+                "weight_threshold": 1,
+                "account_auths": [],
+                "key_auths": [
+                  [
+                    "",
+                    1
+                  ]
+                ]
+              },
+              "posting": {
+                "weight_threshold": 1,
+                "account_auths": [],
+                "key_auths": [
+                  [
+                    "",
+                    1
+                  ]
+                ]
+              },
+              "memo_key": "",
+              "json_metadata": "",
+              "extensions": []
+            }
+          },
+          {
+            "type": "account_create_operation",
+            "value": {
+              "creator": "test-safari",
+              "new_account_name": "test-reblog-02",
+              "owner": {
+                "weight_threshold": 1,
+                "account_auths": [],
+                "key_auths": [
+                  [
+                    "",
+                    1
+                  ]
+                ]
+              },
+              "active": {
+                "weight_threshold": 1,
+                "account_auths": [],
+                "key_auths": [
+                  [
+                    "",
+                    1
+                  ]
+                ]
+              },
+              "posting": {
+                "weight_threshold": 1,
+                "account_auths": [],
+                "key_auths": [
+                  [
+                    "",
+                    1
+                  ]
+                ]
+              },
+              "memo_key": "",
+              "json_metadata": "",
+              "extensions": []
+            }
+          },
+          {
+            "type": "account_create_operation",
+            "value": {
+              "creator": "test-safari",
+              "new_account_name": "test-reblog-03",
+              "owner": {
+                "weight_threshold": 1,
+                "account_auths": [],
+                "key_auths": [
+                  [
+                    "",
+                    1
+                  ]
+                ]
+              },
+              "active": {
+                "weight_threshold": 1,
+                "account_auths": [],
+                "key_auths": [
+                  [
+                    "",
+                    1
+                  ]
+                ]
+              },
+              "posting": {
+                "weight_threshold": 1,
+                "account_auths": [],
+                "key_auths": [
+                  [
+                    "",
+                    1
+                  ]
+                ]
+              },
+              "memo_key": "",
+              "json_metadata": "",
+              "extensions": []
+            }
+          },
+          {
+            "type": "account_create_operation",
+            "value": {
+              "creator": "test-safari",
+              "new_account_name": "test-reblog-04",
+              "owner": {
+                "weight_threshold": 1,
+                "account_auths": [],
+                "key_auths": [
+                  [
+                    "",
+                    1
+                  ]
+                ]
+              },
+              "active": {
+                "weight_threshold": 1,
+                "account_auths": [],
+                "key_auths": [
+                  [
+                    "",
+                    1
+                  ]
+                ]
+              },
+              "posting": {
+                "weight_threshold": 1,
+                "account_auths": [],
+                "key_auths": [
+                  [
+                    "",
+                    1
+                  ]
+                ]
+              },
+              "memo_key": "",
+              "json_metadata": "",
+              "extensions": []
+            }
+          },
+          {
+            "type": "account_create_operation",
+            "value": {
+              "creator": "test-safari",
+              "new_account_name": "test-reblog-05",
+              "owner": {
+                "weight_threshold": 1,
+                "account_auths": [],
+                "key_auths": [
+                  [
+                    "",
+                    1
+                  ]
+                ]
+              },
+              "active": {
+                "weight_threshold": 1,
+                "account_auths": [],
+                "key_auths": [
+                  [
+                    "",
+                    1
+                  ]
+                ]
+              },
+              "posting": {
+                "weight_threshold": 1,
+                "account_auths": [],
+                "key_auths": [
+                  [
+                    "",
+                    1
+                  ]
+                ]
+              },
+              "memo_key": "",
+              "json_metadata": "",
+              "extensions": []
+            }
+          },
+          {
+            "type": "account_create_operation",
+            "value": {
+              "creator": "test-safari",
+              "new_account_name": "test-reblog-06",
+              "owner": {
+                "weight_threshold": 1,
+                "account_auths": [],
+                "key_auths": [
+                  [
+                    "",
+                    1
+                  ]
+                ]
+              },
+              "active": {
+                "weight_threshold": 1,
+                "account_auths": [],
+                "key_auths": [
+                  [
+                    "",
+                    1
+                  ]
+                ]
+              },
+              "posting": {
+                "weight_threshold": 1,
+                "account_auths": [],
+                "key_auths": [
+                  [
+                    "",
+                    1
+                  ]
+                ]
+              },
+              "memo_key": "",
+              "json_metadata": "",
+              "extensions": []
+            }
+          },
+          {
+            "type": "comment_operation",
+            "value": {
+              "parent_author": "",
+              "parent_permlink": "",
+              "author": "test-reblog-01",
+              "permlink": "parrot-01",
+              "title": "I love parrots 01",
+              "body": "tell me about parrots 01",
+              "json_metadata": "{}"
+            }
+          },
+          {
+            "type": "comment_operation",
+            "value": {
+              "parent_author": "",
+              "parent_permlink": "",
+              "author": "test-reblog-02",
+              "permlink": "parrot-02",
+              "title": "I love parrots 02",
+              "body": "tell me about parrots 02",
+              "json_metadata": "{}"
+            }
+          },
+          {
+            "type": "comment_operation",
+            "value": {
+              "parent_author": "",
+              "parent_permlink": "",
+              "author": "test-reblog-03",
+              "permlink": "parrot-03",
+              "title": "I love parrots 03",
+              "body": "tell me about parrots 03",
+              "json_metadata": "{}"
+            }
+          },
+          {
+            "type": "comment_operation",
+            "value": {
+              "parent_author": "",
+              "parent_permlink": "",
+              "author": "test-reblog-04",
+              "permlink": "parrot-04",
+              "title": "I love parrots 04",
+              "body": "tell me about parrot 04",
+              "json_metadata": "{}"
+            }
+          },
+          {
+            "type": "comment_operation",
+            "value": {
+              "parent_author": "",
+              "parent_permlink": "",
+              "author": "test-reblog-05",
+              "permlink": "parrot-05",
+              "title": "I love parrots 05",
+              "body": "tell me about parrot 05",
+              "json_metadata": "{}"
+            }
+          },
+          {
+            "type": "comment_operation",
+            "value": {
+              "parent_author": "",
+              "parent_permlink": "",
+              "author": "test-reblog-06",
+              "permlink": "parrot-06",
+              "title": "I love parrots 06",
+              "body": "tell me about parrot 06",
+              "json_metadata": "{}"
+            }
+          }
+        ],
+        "extensions": [],
+        "signatures": [
+          ""
+        ]
+      }
+    ],
     "block_id": "004c4b3fc6a8735b4ab5433d59f4526e4a042644",
     "signing_key": "",
     "transaction_ids": []
   },
-  "5000000": {
-    "previous": "004c4b3fc6a8735b4ab5433d59f4526e4a042644",
-    "timestamp": "2016-09-15T19:47:21",
+  "5000000": {
+    "previous": "004c4b3fc6a8735b4ab5433d59f4526e4a042644",
+    "timestamp": "2016-09-15T19:47:21",
+    "witness": "initminer",
+    "transaction_merkle_root": "",
+    "extensions": [],
+    "witness_signature": "",
+    "transactions": [
+      {
+        "ref_block_num": 100001,
+        "ref_block_prefix": 1,
+        "expiration": "2020-03-23T12:17:00",
+        "operations": [
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-01"
+              ],
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-01\",\"author\":\"test-reblog-02\",\"permlink\":\"parrot-02\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-01"
+              ],
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-01\",\"author\":\"test-reblog-03\",\"permlink\":\"parrot-03\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-01"
+              ],
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-01\",\"author\":\"test-reblog-04\",\"permlink\":\"parrot-04\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-01"
+              ],
+              "id": "reblog",
+              "json": "{\"delete\":\"delete\",\"account\":\"test-reblog-01\",\"author\":\"test-reblog-04\",\"permlink\":\"parrot-04\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-01"
+              ],
+              "id": "reblog",
+              "json": "{\"delete\":\"delete\",\"account\":\"test-reblog-01\",\"author\":\"test-reblog-03\",\"permlink\":\"parrot-03\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-01"
+              ],
+              "id": "reblog",
+              "json": "{\"delete\":\"delete\",\"account\":\"test-reblog-01\",\"author\":\"test-reblog-02\",\"permlink\":\"parrot-02\"}"
+            }
+          }
+        ]
+      }
+    ],
+    "block_id": "004c4b40245ffb07380a393fb2b3d841b76cdaec",
+    "signing_key": "",
+    "transaction_ids": []
+  },
+  "5000001": {
+    "previous": "004c4b40245ffb07380a393fb2b3d841b76cdaec",
+    "timestamp": "2016-09-15T19:47:24",
+    "witness": "initminer",
+    "transaction_merkle_root": "",
+    "extensions": [],
+    "witness_signature": "",
+    "transactions": [
+      {
+        "ref_block_num": 100001,
+        "ref_block_prefix": 1,
+        "expiration": "2020-03-23T12:17:00",
+        "operations": [
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-02"
+              ],
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-02\",\"author\":\"test-reblog-01\",\"permlink\":\"parrot-01\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-02"
+              ],
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-02\",\"author\":\"test-reblog-02\",\"permlink\":\"parrot-02\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-02"
+              ],
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-02\",\"author\":\"test-reblog-03\",\"permlink\":\"parrot-03\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-03"
+              ],
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-03\",\"author\":\"test-reblog-02\",\"permlink\":\"parrot-02\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-03"
+              ],
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-03\",\"author\":\"test-reblog-03\",\"permlink\":\"parrot-03\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-03"
+              ],
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-03\",\"author\":\"test-reblog-04\",\"permlink\":\"parrot-04\"}"
+            }
+          }
+        ]
+      }
+    ],
+    "block_id": "004c4b4100000000000000000000000000000000",
+    "signing_key": "",
+    "transaction_ids": []
+  },
+  "5000002": {
+    "previous": "004c4b4100000000000000000000000000000000",
+    "timestamp": "2016-09-15T19:47:27",
+    "witness": "initminer",
+    "transaction_merkle_root": "0000000000000000000000000000000000000000",
+    "extensions": [],
+    "witness_signature": "",
+    "transactions": [
+      {
+        "ref_block_num": 100001,
+        "ref_block_prefix": 1,
+        "expiration": "2020-03-23T12:17:00",
+        "operations": [
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-04"
+              ],
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-04\",\"author\":\"test-reblog-04\",\"permlink\":\"parrot-04\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-05"
+              ],
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-05\",\"author\":\"test-reblog-05\",\"permlink\":\"parrot-05\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-06"
+              ],
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-06\",\"author\":\"test-reblog-06\",\"permlink\":\"parrot-06\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-06"
+              ],
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-06\",\"author\":\"test-reblog-06\",\"permlink\":\"parrot-06\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-04"
+              ],
+              "id": "reblog",
+              "json": "{\"delete\":\"delete\",\"account\":\"test-reblog-04\",\"author\":\"test-reblog-04\",\"permlink\":\"parrot-04\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-06"
+              ],
+              "id": "reblog",
+              "json": "{\"delete\":\"delete\",\"account\":\"test-reblog-06\",\"author\":\"test-reblog-06\",\"permlink\":\"parrot-06\"}"
+            }
+          }
+        ]
+      }
+    ],
+    "block_id": "004c4b4200000000000000000000000000000000",
+    "signing_key": "",
+    "transaction_ids": []
+  },
+  "5000003": {
+    "previous": "004c4b4200000000000000000000000000000000",
+    "timestamp": "2016-09-15T19:47:30",
+    "witness": "initminer",
+    "transaction_merkle_root": "0000000000000000000000000000000000000000",
+    "extensions": [],
+    "witness_signature": "",
+    "transactions": [
+      {
+        "ref_block_num": 100001,
+        "ref_block_prefix": 1,
+        "expiration": "2020-03-23T12:17:00",
+        "operations": [
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-05"
+              ],
+              "id": "reblog",
+              "json": "{\"delete\":\"delete\",\"account\":\"test-reblog-05\",\"author\":\"test-reblog-05\",\"permlink\":\"parrot-05\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-06"
+              ],
+              "id": "reblog",
+              "json": "{\"delete\":\"delete\",\"account\":\"test-reblog-06\",\"author\":\"test-reblog-05\",\"permlink\":\"parrot-05\"}"
+            }
+          }
+        ]
+      }
+    ],
+    "block_id": "004c4b4300000000000000000000000000000000",
+    "signing_key": "",
+    "transaction_ids": []
+  },
+  "5000004": {
+    "previous": "004c4b4300000000000000000000000000000000",
+    "timestamp": "2016-09-15T19:47:33",
+    "witness": "initminer",
+    "transaction_merkle_root": "0000000000000000000000000000000000000000",
+    "extensions": [],
+    "witness_signature": "",
+    "transactions": [
+      {
+        "ref_block_num": 100001,
+        "ref_block_prefix": 1,
+        "expiration": "2020-03-23T12:17:00",
+        "operations": [
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-04"
+              ],
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-04\",\"author\":\"test-reblog-04\",\"permlink\":\"parrot-04\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-05"
+              ],
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-05\",\"author\":\"test-reblog-05\",\"permlink\":\"parrot-05\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-06"
+              ],
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-06\",\"author\":\"test-reblog-06\",\"permlink\":\"parrot-06\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-06"
+              ],
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-06\",\"author\":\"test-reblog-05\",\"permlink\":\"parrot-05\"}"
+            }
+          },
+          {
+            "type": "delete_comment_operation",
+            "value": {
+              "author": "test-reblog-04",
+              "permlink": "parrot-04"
+            }
+          },
+          {
+            "type": "delete_comment_operation",
+            "value": {
+              "author": "test-reblog-05",
+              "permlink": "parrot-05"
+            }
+          }
+        ]
+      }
+    ],
+    "block_id": "004c4b4400000000000000000000000000000000",
+    "signing_key": "",
+    "transaction_ids": []
+  },
+  "5000005": {
+    "previous": "004c4b4400000000000000000000000000000000",
+    "timestamp": "2016-09-15T19:47:36",
+    "witness": "initminer",
+    "transaction_merkle_root": "0000000000000000000000000000000000000000",
+    "extensions": [],
+    "witness_signature": "",
+    "transactions": [
+      {
+        "ref_block_num": 100001,
+        "ref_block_prefix": 1,
+        "expiration": "2020-03-23T12:17:00",
+        "operations": [
+          {
+            "type": "delete_comment_operation",
+            "value": {
+              "author": "test-reblog-06",
+              "permlink": "parrot-06"
+            }
+          },
+          {
+            "type": "comment_operation",
+            "value": {
+              "parent_author": "",
+              "parent_permlink": "",
+              "author": "test-reblog-01",
+              "permlink": "monkey-01",
+              "title": "I love monkeys 01",
+              "body": "tell me about monkeys 01",
+              "json_metadata": "{}"
+            }
+          },
+          {
+            "type": "comment_operation",
+            "value": {
+              "parent_author": "",
+              "parent_permlink": "",
+              "author": "test-reblog-01",
+              "permlink": "monkey-02",
+              "title": "I love monkeys 02",
+              "body": "tell me about monkeys 02",
+              "json_metadata": "{}"
+            }
+          },
+          {
+            "type": "comment_operation",
+            "value": {
+              "parent_author": "",
+              "parent_permlink": "",
+              "author": "test-reblog-01",
+              "permlink": "monkey-03",
+              "title": "I love monkeys 03",
+              "body": "tell me about monkeys 03",
+              "json_metadata": "{}"
+            }
+          },
+          {
+            "type": "comment_operation",
+            "value": {
+              "parent_author": "",
+              "parent_permlink": "",
+              "author": "test-reblog-01",
+              "permlink": "monkey-04",
+              "title": "I love monkeys 04",
+              "body": "tell me about monkeys 04",
+              "json_metadata": "{}"
+            }
+          },
+          {
+            "type": "comment_operation",
+            "value": {
+              "parent_author": "",
+              "parent_permlink": "",
+              "author": "test-reblog-01",
+              "permlink": "monkey-05",
+              "title": "I love monkeys 05",
+              "body": "tell me about monkeys 05",
+              "json_metadata": "{}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-01"
+              ],
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-01\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-01\"}"
+            }
+          },
+          {
+            "type": "delete_comment_operation",
+            "value": {
+              "author": "test-reblog-01",
+              "permlink": "monkey-01"
+            }
+          }
+        ]
+      }
+    ],
+    "block_id": "004c4b4500000000000000000000000000000000",
+    "signing_key": "",
+    "transaction_ids": []
+  },
+  "5000006": {
+    "previous": "004c4b4500000000000000000000000000000000",
+    "timestamp": "2016-09-15T19:47:39",
     "witness": "initminer",
-    "transaction_merkle_root": "",
+    "transaction_merkle_root": "0000000000000000000000000000000000000000",
     "extensions": [],
     "witness_signature": "",
     "transactions": [
@@ -29,10 +880,10 @@
             "value": {
               "required_auths": [],
               "required_posting_auths": [
-                "funny"
+                "test-reblog-01"
               ],
-              "id": "follow",
-              "json": "[\"reblog\",{\"account\":\"funny\",\"author\":\"steemit\",\"permlink\":\"firstpost\"}]"
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-01\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-02\"}"
             }
           },
           {
@@ -40,10 +891,10 @@
             "value": {
               "required_auths": [],
               "required_posting_auths": [
-                "funny"
+                "test-reblog-03"
               ],
-              "id": "follow",
-              "json": "[\"reblog\",{\"account\":\"funny\",\"author\":\"steak\",\"permlink\":\"streak-test\"}]"
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-03\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-02\"}"
             }
           },
           {
@@ -51,87 +902,15 @@
             "value": {
               "required_auths": [],
               "required_posting_auths": [
-                "funny"
+                "test-reblog-04"
               ],
-              "id": "follow",
-              "json": "[\"reblog\",{\"account\":\"funny\",\"author\":\"dollarvigilante\",\"permlink\":\"another-billionaire-warns-of-catastrophic-depths-not-seen-in-5-000-years-and-emphasizes-gold\"}]"
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-04\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-02\"}"
             }
           }
         ]
       }
     ],
-    "block_id": "004c4b40245ffb07380a393fb2b3d841b76cdaec",
-    "signing_key": "",
-    "transaction_ids": []
-  },
-  "5000001": {
-    "previous": "004c4b40245ffb07380a393fb2b3d841b76cdaec",
-    "timestamp": "2016-09-15T19:47:24",
-    "witness": "initminer",
-    "transaction_merkle_root": "",
-    "extensions": [],
-    "witness_signature": "",
-    "transactions": [],
-    "block_id": "004c4b4100000000000000000000000000000000",
-    "signing_key": "",
-    "transaction_ids": []
-  },
-  "5000002": {
-    "previous": "004c4b4100000000000000000000000000000000",
-    "timestamp": "2016-09-15T19:47:27",
-    "witness": "initminer",
-    "transaction_merkle_root": "0000000000000000000000000000000000000000",
-    "extensions": [],
-    "witness_signature": "",
-    "transactions": [],
-    "block_id": "004c4b4200000000000000000000000000000000",
-    "signing_key": "",
-    "transaction_ids": []
-  },
-  "5000003": {
-    "previous": "004c4b4200000000000000000000000000000000",
-    "timestamp": "2016-09-15T19:47:30",
-    "witness": "initminer",
-    "transaction_merkle_root": "0000000000000000000000000000000000000000",
-    "extensions": [],
-    "witness_signature": "",
-    "transactions": [],
-    "block_id": "004c4b4300000000000000000000000000000000",
-    "signing_key": "",
-    "transaction_ids": []
-  },
-  "5000004": {
-    "previous": "004c4b4300000000000000000000000000000000",
-    "timestamp": "2016-09-15T19:47:33",
-    "witness": "initminer",
-    "transaction_merkle_root": "0000000000000000000000000000000000000000",
-    "extensions": [],
-    "witness_signature": "",
-    "transactions": [],
-    "block_id": "004c4b4400000000000000000000000000000000",
-    "signing_key": "",
-    "transaction_ids": []
-  },
-  "5000005": {
-    "previous": "004c4b4400000000000000000000000000000000",
-    "timestamp": "2016-09-15T19:47:36",
-    "witness": "initminer",
-    "transaction_merkle_root": "0000000000000000000000000000000000000000",
-    "extensions": [],
-    "witness_signature": "",
-    "transactions": [],
-    "block_id": "004c4b4500000000000000000000000000000000",
-    "signing_key": "",
-    "transaction_ids": []
-  },
-  "5000006": {
-    "previous": "004c4b4500000000000000000000000000000000",
-    "timestamp": "2016-09-15T19:47:39",
-    "witness": "initminer",
-    "transaction_merkle_root": "0000000000000000000000000000000000000000",
-    "extensions": [],
-    "witness_signature": "",
-    "transactions": [],
     "block_id": "004c4b4600000000000000000000000000000000",
     "signing_key": "",
     "transaction_ids": []
@@ -143,7 +922,110 @@
     "transaction_merkle_root": "0000000000000000000000000000000000000000",
     "extensions": [],
     "witness_signature": "",
-    "transactions": [],
+    "transactions": [
+      {
+        "ref_block_num": 100001,
+        "ref_block_prefix": 1,
+        "expiration": "2020-03-23T12:17:00",
+        "operations": [
+          {
+            "type": "delete_comment_operation",
+            "value": {
+              "author": "test-reblog-01",
+              "permlink": "monkey-02"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-03"
+              ],
+              "id": "reblog",
+              "json": "{\"delete\":\"delete\",\"account\":\"test-reblog-03\",\"author\":\"test-reblog-04\",\"permlink\":\"parrot-04\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-01"
+              ],
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-01\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-03\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-02"
+              ],
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-02\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-03\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-03"
+              ],
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-03\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-03\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-04"
+              ],
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-04\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-03\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-05"
+              ],
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-05\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-03\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-05"
+              ],
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-05\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-04\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-05"
+              ],
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-05\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-05\"}"
+            }
+          }
+        ]
+      }
+    ],
     "block_id": "004c4b4700000000000000000000000000000000",
     "signing_key": "",
     "transaction_ids": []
@@ -155,7 +1037,59 @@
     "transaction_merkle_root": "0000000000000000000000000000000000000000",
     "extensions": [],
     "witness_signature": "",
-    "transactions": [],
+    "transactions": [
+      {
+        "ref_block_num": 100001,
+        "ref_block_prefix": 1,
+        "expiration": "2020-03-23T12:17:00",
+        "operations": [
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-05"
+              ],
+              "id": "reblog",
+              "json": "{\"delete\":\"delete\",\"account\":\"test-reblog-05\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-04\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-05"
+              ],
+              "id": "reblog",
+              "json": "{\"account\":\"test-reblog-05\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-04\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-05"
+              ],
+              "id": "reblog",
+              "json": "{\"delete\":\"delete\",\"account\":\"test-reblog-05\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-04\"}"
+            }
+          },
+          {
+            "type": "custom_json_operation",
+            "value": {
+              "required_auths": [],
+              "required_posting_auths": [
+                "test-reblog-05"
+              ],
+              "id": "reblog",
+              "json": "{\"delete\":\"delete\",\"account\":\"test-reblog-05\",\"author\":\"test-reblog-01\",\"permlink\":\"monkey-04\"}"
+            }
+          }
+        ]
+      }
+    ],
     "block_id": "004c4b4800000000000000000000000000000000",
     "signing_key": "",
     "transaction_ids": []
@@ -167,10 +1101,34 @@
     "transaction_merkle_root": "0000000000000000000000000000000000000000",
     "extensions": [],
     "witness_signature": "",
-    "transactions": [],
+    "transactions": [
+      {
+        "ref_block_num": 100001,
+        "ref_block_prefix": 1,
+        "expiration": "2020-03-23T12:17:00",
+        "operations": [
+          {
+            "type": "delete_comment_operation",
+            "value": {
+              "author": "test-reblog-01",
+              "permlink": "monkey-04"
+            }
+          }
+        ]
+      }
+    ],
     "block_id": "004c4b4900000000000000000000000000000000",
     "signing_key": "",
-    "transaction_ids": []
+    "transaction_ids": [
+      {
+        "ref_block_num": 100001,
+        "ref_block_prefix": 1,
+        "expiration": "2020-03-23T12:17:00",
+        "operations": [
+        ]
+      }
+
+    ]
   },
   "5000010": {
     "previous": "004c4b4900000000000000000000000000000000",
@@ -179,7 +1137,15 @@
     "transaction_merkle_root": "0000000000000000000000000000000000000000",
     "extensions": [],
     "witness_signature": "",
-    "transactions": [],
+    "transactions": [
+      {
+        "ref_block_num": 100001,
+        "ref_block_prefix": 1,
+        "expiration": "2020-03-23T12:17:00",
+        "operations": [
+        ]
+      }
+    ],
     "block_id": "004c4b4a00000000000000000000000000000000",
     "signing_key": "",
     "transaction_ids": []
@@ -191,7 +1157,15 @@
     "transaction_merkle_root": "0000000000000000000000000000000000000000",
     "extensions": [],
     "witness_signature": "",
-    "transactions": [],
+    "transactions": [
+      {
+        "ref_block_num": 100001,
+        "ref_block_prefix": 1,
+        "expiration": "2020-03-23T12:17:00",
+        "operations": [
+        ]
+      }
+    ],
     "block_id": "004c4b4b00000000000000000000000000000000",
     "signing_key": "",
     "transaction_ids": []
@@ -268,4 +1242,4 @@
     "signing_key": "",
     "transaction_ids": []
   }
-}
\ No newline at end of file
+}
diff --git a/run_server_sync.sh b/run_server_sync.sh
new file mode 100755
index 0000000000000000000000000000000000000000..b7fe66ea06744e5ab5c74c65861f29c9275eabdd
--- /dev/null
+++ b/run_server_sync.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+# RUNNER_HIVEMIND_SYNC_MAX_BLOCK=5000017
+# RUNNER_HIVED_URL='{"default" : "192.168.6.136:8091"}''
+# RUNNER_POSTGRES_APP_USER=user
+# RUNNER_POSTGRES_APP_USER_PASSWORD=password
+# RUNNER_POSTGRES_HOST=localhost
+# RUNNER_POSTGRES_PORT=5432
+# HIVEMIND_DB_NAME=hivemind
+
+# ./run_server_sync.sh 5000017 '{"default" : "192.168.6.136:8091"}' mario_user mario_password localhost 5432 hivemind
+
+export RUNNER_HIVEMIND_SYNC_MAX_BLOCK=$1
+export RUNNER_HIVED_URL=$2
+export RUNNER_POSTGRES_APP_USER=$3
+export RUNNER_POSTGRES_APP_USER_PASSWORD=$4
+export RUNNER_POSTGRES_HOST=$5
+export RUNNER_POSTGRES_PORT=$6
+export HIVEMIND_DB_NAME=$7
+
+HIVE_SYNC_PATH="./scripts/ci/hive-sync.sh"
+
+"$HIVE_SYNC_PATH"
diff --git a/tests/tests_api b/tests/tests_api
index c42a9d5fd7061916beb66c2306588afa7c7a70a1..395f7109b2544cd1ace33a6027a0078d65fb1722 160000
--- a/tests/tests_api
+++ b/tests/tests_api
@@ -1 +1 @@
-Subproject commit c42a9d5fd7061916beb66c2306588afa7c7a70a1
+Subproject commit 395f7109b2544cd1ace33a6027a0078d65fb1722