def _gas_for_signature(self):
        ethereum_setting = {}
        if self.get_ethereum_addres()[0].keys() == {}:
            result_of_gas_estimate = 0
        else:
            date_of_synchronization = dt.now()
            ethereum_setting = self.get_ethereum_addres()
            ethereum_setting = ethereum_setting[0]
            web3 = Web3(HTTPProvider(ethereum_setting['address_node']))
            abi_json = ethereum_setting['ethereum_interface']
            ethereum_contract_address = ethereum_setting['ethereum_address']
            contract =  web3.eth.contract(abi = json.loads(abi_json), address=ethereum_contract_address)
            hash_of_synchronaze = '"'+base58.b58encode(str(date_of_synchronization))+'"'
            md5 = self.getDocumentMD5()
            md5_for_solidity = '"'+md5[0]+'"'
            print hash_of_synchronaze
            try:
                result_of_gas_estimate = contract.estimateGas().setDocumentHash(str(hash_of_synchronaze),md5_for_solidity)
            except:
                result_of_gas_estimate = 0
        self.gas_for_signature = result_of_gas_estimate
        return result_of_gas_estimate