Faits: A. Par jugement du 1er février 2010, le Tribunal de police de l'arrondissement de l'Est vaudois a condamné X._ à une peine privative de liberté de vingt jours pour tentative d'escroquerie. B. Par arrêt du 26 avril 2010, la Cour de cassation pénale du Tribunal cantonal vaudois a partiellement admis le recours formé par X._. Elle a réformé le jugement de première instance en ce sens que, tout en constatant la culpabilité de X._, elle a renoncé à prononcer une peine complémentaire, la nouvelle peine étant entièrement absorbée par la peine de dix mois d'emprisonnement prononcée à son encontre le 21 décembre 2006 par la Chambre pénale de la Cour de Justice du canton de Genève. En bref, la cour cantonale a retenu les faits suivants: Le 19 juin 2006, X._, né en 1968, a déposé une demande de revenu d'insertion auprès du Centre social intercommunal de A._. Il faisait valoir qu'il était rentré de Jordanie et qu'il s'était constitué un domicile à B._. Les services sociaux ont appris fortuitement que le requérant percevait une rente AI d'un montant mensuel de 2'000 fr., versée à Genève où il résidait de longue date. En utilisant un scénario semblable, X._ s'était fait délivrer des prestations sociales depuis le mois de mai 2006 dans le canton de Bâle-Ville. C. Contre cet arrêt cantonal, X._ dépose un recours en matière pénale devant le Tribunal fédéral. Dénonçant la violation de son droit d'être entendu, l'arbitraire dans l'appréciation des preuves, ainsi que la mauvaise application des art. 20 et 146 CP, il conclut, principalement, à l'annulation de l'arrêt attaqué et au renvoi de la cause à la cour cantonale et, à titre subsidiaire, à la réforme de celui-ci et à son acquittement. En outre, il sollicite l'assistance judiciaire. Appelé à se déterminer, le Ministère public vaudois s'est référé aux considérants de l'arrêt attaqué et a conclu au rejet du recours. L'autorité précédente a renoncé à déposer des observations. 