def METHOD_NAME(self):
    mark_logs("Node 2 generates 150 block", self.nodes, DEBUG_MODE)
    self.nodes[2].generate(150)
    self.sync_all()
    # check block versions ( skip genesis that is 4)
    mark_logs(("Check that block version is %d" % BLOCK_VERSION), self.nodes, DEBUG_MODE)
    for i in range (1, 151):
        v = self.nodes[0].getblock(str(i))['version']
        assert_equal(v, BLOCK_VERSION)
    # Mine 51 up-version blocks, they are supported up to sidechain fork
    mark_logs("Node 1 generates 51 block with an up-version", self.nodes, DEBUG_MODE)
    self.nodes[1].generate(51)
    self.sync_all()
    # check block versions 
    mark_logs(("Check that block version is %d" % UP_VERSION), self.nodes, DEBUG_MODE)
    for i in range (151, 201):
        v = self.nodes[0].getblock(str(i))['version']
        assert_equal(v, UP_VERSION)
    try:
        self.nodes[0].generate(1)
        raise AssertionError("Can not generate blocks with version = 2")
    except JSONRPCException as e:
        errorString = e.error['message']
        mark_logs(errorString + " ===> Ok, Can not generate blocks with version = 2", self.nodes, DEBUG_MODE)
    # reach sidechain fork height
    fork_height = ForkHeights['MINIMAL_SC']
    active_height =  self.nodes[2].getblockcount()
    delta = fork_height - active_height
    if delta > 0:
        mark_logs(("Node 2 generates %d block to reach sidechain fork" % delta), self.nodes, DEBUG_MODE)
        self.nodes[2].generate(delta)
        self.sync_all()
    active_height =  self.nodes[2].getblockcount()
    mark_logs(("Chain height = %d" % active_height), self.nodes, DEBUG_MODE)
    # check last block version
    mark_logs(("Check that best block version is %d" % SC_CERTIFICATE_BLOCK_VERSION), self.nodes, DEBUG_MODE)
    v = self.nodes[0].getblock(str(active_height))['version']
    assert_equal(v, SC_CERTIFICATE_BLOCK_VERSION)
    # check that version 211 can not be used anymore after fork
    try:
        self.nodes[1].generate(1)
        raise AssertionError("Can not generate blocks with version = 211")
    except JSONRPCException as e:
        errorString = e.error['message']
        mark_logs(errorString + " ===> Ok, Can not generate blocks with version = 211", self.nodes, DEBUG_MODE)