def METHOD_NAME(self, bytecode_path):
    bytecode_file = os.path.join(os.path.dirname(os.path.realpath(__file__)), bytecode_path)
    assert(os.path.isfile(bytecode_file))
    bytecode = open(bytecode_file).read()
    nonce = self.w3.eth.getTransactionCount(self.evmAccount.address)
    signed = self.evmAccount.signTransaction({
        "to": None,
        "value": 0,
        "gasPrice": 1,
        "gas": 500000,
        "nonce": nonce,
        "chainId": 10,
        "data": bytecode,
    })
    tx_hash = signed["hash"]
    return_tx_hash = self.w3.eth.sendRawTransaction(signed["rawTransaction"])
    assert_equal(tx_hash, return_tx_hash)
    self.rpc.generate_block(1)
    self.rpc.generate_blocks(20, 1)
    receipt = self.w3.eth.waitForTransactionReceipt(tx_hash)
    assert_equal(receipt["status"], 1)
    addr = receipt["contractAddress"]
    return addr