def eth_call(self, from_, to=None, gas=None,
                 gas_price=None, value=None, data=None,
                 block=BLOCK_TAG_LATEST):
        """https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_call

        :param from_: From account address
        :type from_: str

        :param to: To account address (optional)
        :type to: str

        :param gas: Gas amount for current transaction (optional)
        :type gas: int

        :param gas_price: Gas price for current transaction (optional)
        :type gas_price: int

        :param value: Amount of ether to send (optional)
        :type value: int

        :param data: Additional data for transaction (optional)
        :type data: hex

        :param block: Block tag or number (optional)
        :type block: int or BLOCK_TAGS

        :rtype: str
        """
        block = validate_block(block)
        obj = {}
        obj['from'] = from_
        if to is not None:
            obj['to'] = to
        if gas is not None:
            obj['gas'] = hex(gas)
        if gas_price is not None:
            obj['gasPrice'] = hex(gas_price)
        if value is not None:
            obj['value'] = hex(ether_to_wei(value))
        if data is not None:
            obj['data'] = data

        return (yield from self.rpc_call('eth_call', [obj, block]))