Faits :
A.
Par jugement du 25 juin 2020, le Tribunal correctionnel de l'arrondissement de Lausanne a reconnu A._ coupable de blanchiment d'argent qualifié, d'infraction grave et de contravention à la loi fédérale sur les stupéfiants (LStup; RS 812.121) et d'infraction à la loi fédérale sur les étrangers et l'intégration (LEI; RS 142.20). Il l'a condamné à une peine privative de liberté de cinq ans et six mois, sous déduction de 366 jours de détention avant jugement au 24 juin 2020, à une peine pécuniaire de 120 jours-amende à 30 fr. le jour et à une amende de 300 fr., la peine privative de liberté de substitution en cas de non-paiement fautif étant de dix jours. Il a, en outre, ordonné que 44 jours soient déduits de la peine privative de liberté en raison de détention illicite, a révoqué le sursis accordé le 7 juin 2018 par le Ministère public de l'arrondissement du Nord vaudois, a prononcé l'expulsion de l'intéressé du territoire suisse pour une durée de dix ans et a ordonné son maintien en détention pour des motifs de sûreté afin de garantir l'exécution de la peine et de la mesure d'expulsion.
B.
Par jugement du 19 novembre 2020, la Cour d'appel pénale du Tribunal cantonal vaudois a très partiellement admis l'appel formé par A._. En conséquence, elle a réformé le jugement attaqué en ce sens qu'elle a constaté que A._ s'était rendu coupable de blanchiment d'argent (<ref-law>) au lieu de blanchiment d'argent aggravé et qu'elle a dès lors renoncé à prononcer une peine pécuniaire de 120 jours-amende. Elle a confirmé le jugement de première instance pour le surplus.
En résumé, elle a retenu les faits suivants:
B.a. A._ est né en 1994, au Nigeria, pays dont il est ressortissant. Enfant, il a quitté son pays d'origine pour le Cameroun, où il a suivi sa scolarité et a appris le métier de boulanger. Il y a une dizaine d'années, il a quitté le Cameroun pour rejoindre son père en Espagne, où il a obtenu une autorisation de séjour. Dans ce pays, il a travaillé en qualité de cuisinier dans un restaurant avec son oncle pour un revenu mensuel de 1'200 euros. Il est père de quatre enfants, dont deux âgés de huit et six ans qui vivent en Espagne avec leur mère et deux issus d'une autre relation, âgés respectivement de quatre ans et de onze mois, qui vivent en Suisse. Le 15 novembre 2011, les autorités helvétiques ont refusé d'entrer en matière sur la demande d'asile déposée le 13 mars 2011 par A._ sous son alias B._, de sorte qu'il n'a pas de statut légal en Suisse.
B.b. Entre le mois de mai 2018 et le 24 juin 2019, date de son interpellation, A._ a pénétré et séjourné en Suisse à plusieurs reprises pour une durée totale de plus de trois mois sur une période de 180 jours, alors qu'il n'était titulaire d'aucune autorisation de séjour.
En 2019, pendant environ trois mois, A._ a travaillé en qualité de déménageur contre rémunération quand bien même il n'était titulaire d'aucun permis de travail.
En Suisse, entre le début de l'année 2019 et le 24 juin 2019, date de son interpellation, A._ a régulièrement consommé de la marijuana, à raison d'une à deux fois par semaine. Il a également consommé de la cocaïne de manière occasionnelle.
A tout le moins en 2018 et jusqu'au 24 juin 2019, dans le canton de Vaud, en particulier à X._ et à Y._, A._ a participé à un important trafic de cocaïne, dont l'ampleur n'a pas pu être déterminée avec précision. Néanmoins, compte tenu des éléments recueillis en cours d'enquête, dont des surveillances téléphoniques actives et rétroactives, il a été établi que A._ avait acquis, revendu et distribué ou voulu distribuer au moins 3'350 grammes bruts de cocaïne.
Entre le 23 mars 2018 et le 19 juin 2019, A._ a envoyé à l'étranger un montant total de 21'101 fr. 22 provenant de la vente de cocaïne, afin d'en dissimuler la provenance.
C.
Contre ce dernier jugement, A._ dépose un recours en matière pénale devant le Tribunal fédéral. Il conclut, principalement, à la réforme du jugement attaqué en ce sens qu'il est condamné à une peine privative de liberté égale ou inférieure à trois ans, sous déduction de la détention subie avant jugement et de la détention dans des conditions illicites, qu'il est expulsé du territoire suisse pour une durée maximum de cinq ans et qu'il bénéficie d'un sursis partiel à l'exécution de la peine infligée, avec un délai d'épreuve fixé à dire de justice. A titre subsidiaire, il requiert l'annulation du jugement attaqué et le renvoi de la cause à la cour cantonale pour nouvelle instruction et nouveau jugement dans le sens des considérants. En outre, il sollicite l'assistance judiciaire.

Considérant en droit :
1.
Le recourant soutient que la cour cantonale a versé dans l'arbitraire en ne retenant pas l'éventualité qu'il avait reçu 200 grammes bruts de cocaïne ou 800 grammes bruts de cette drogue avant le 7 juin 2018, date à laquelle le ministère public a rendu une ordonnance pénale à son encontre. Selon le recourant, la cour cantonale aurait ainsi omis de faire application du concours rétrospectif partiel (<ref-law>).
Comme on le verra au considérant suivant, le fait que le recourant ait ou non réceptionné de la cocaïne avant le 7 juin 2018 n'est pas déterminant pour l'issue du litige. Il n'y a donc pas lieu d'entrer en matière sur le grief soulevé.
2.
Le recourant reproche à la cour cantonale de ne pas avoir fait application du concours rétrospectif partiel (<ref-law>). Il expose qu'il a été condamné par une ordonnance pénale notifiée le 7 juin 2018 à une peine pécuniaire de 30 jours-amende à 30 fr. avec sursis pendant deux ans pour entrée illégale et séjour illégal. Il fait valoir qu'on lui reproche d'avoir réceptionné, à deux reprises, de la cocaïne en 2018, avant le 16 novembre 2018, et d'avoir séjourné en Suisse pour une durée totale de plus de trois mois entre le mois de mai 2018 et le 24 juin 2019. Selon lui, ces infractions ont été commises avant le 7 juin 2018, de sorte que la cour cantonale aurait dû appliquer l'<ref-law>.
2.1. Le tribunal doit prononcer une peine complémentaire, au sens de l'<ref-law>, s'il juge une infraction commise avant que le prévenu eût été condamné pour une autre infraction. Dans un premier temps, il doit se demander si la nouvelle infraction a été commise avant le premier jugement rendu dans le cadre de la première procédure (<ref-ruling> consid. 3.4.2 p. 116). Pour déterminer quand l'infraction a été commise, il faut se fonder sur le moment où celle-ci a été consommée ( vollendet), à savoir lorsque tous les éléments constitutifs sont réalisés (SONJA KOCH, Asperationsprinzip und retrospektive Konkurrenz 2013, p. 75; JÜRG-BEAT ACKERMANN, Basler Kommentar, Strafrecht II, 4e éd. 2019, n° 166 ad <ref-law>). En cas d'infraction commise par métier, dont des actes peuvent avoir été perpétrés à diverses époques, antérieurement et postérieurement à des jugements précédents, le juge devra traiter celle-ci comme un tout; en cas de concours rétrospectif partiel, il se justifie de considérer qu'une telle infraction s'insère dans le groupe d'infractions dans lequel prend place le dernier acte relatif à l'infraction par métier retenue (<ref-ruling> consid. 2.3.3 p. 381).
2.2. Le recourant a été condamné pour avoir participé à un important trafic de stupéfiants, à tout le moins en 2018 et jusqu'au 24 juin 2019. Il soutient que certains actes de ce trafic ont été commis en partie avant l'ordonnance du 7 juin 2018.
En matière de trafic de stupéfiants, la jurisprudence a admis que les différents actes (acquisition, revente, distribution) n'entrent pas en concours entre eux, mais doivent être considérés comme une seule infraction; en contrepartie, l'abondance des actes est prise en considération au stade de la fixation de la peine, les quantités de drogue en cause étant notamment additionnées pour dire si l'on se trouve en présence d'une infraction qui peut directement ou indirectement mettre en danger la vie de nombreuses personnes (<ref-ruling> consid. 3 p. 100 s.). Si l'on suit le raisonnement du recourant, on se trouverait dans la situation paradoxale de devoir fixer une peine concernant une ou plusieurs violations de l'<ref-law>, qui considérées avec d'autres agissements antérieurs ou postérieurs fondent une seule infraction. En cas de concours rétrospectif partiel, il se justifie donc de considérer que l'infraction à la LStup s'insère dans le groupe d'infractions dans lequel prend place le dernier acte commis en violation de l'<ref-law>. Il n'y a pas lieu, dans une telle configuration, de condamner l'auteur dans un premier temps pour les actes de trafic commis antérieurement à la condamnation précédente, puis, dans un second temps, pour les actes commis postérieurement à celle-ci. Le raisonnement est ainsi le même qu'en cas d'infraction par métier (cf. <ref-ruling> consid. 2.3.3 p. 381).
En l'espèce, le dernier acte du recourant, consistant à réceptionner puis à distribuer 1'630 grammes bruts de cocaïne, date de juin 2019. Il est donc postérieur à l'ordonnance de condamnation du 7 juin 2018. En conséquence, la cour cantonale n'a pas violé le droit fédéral en fixant une peine pour infraction à la LStup sans faire application de l'<ref-law>.
2.3. Le recourant fait valoir qu'il a séjourné de manière illicite en Suisse entre le mois de mai 2018 et le 7 juin 2018, à savoir avant l'ordonnance pénale du 7 juin 2018.
Celui qui séjourne illégalement en Suisse, notamment après la fin de la période autorisée sans autorisation ou après l'expiration d'un séjour autorisé, réalise les conditions de l'art. 115 al. 1 let. b LEI. Selon l'art. 10 LEI, les étrangers sans activité lucrative peuvent séjourner en Suisse pendant trois mois. Si l'étranger doit avoir un visa (art. 5 al. 1 let. a LEI), c'est la durée fixée dans le visa qui sera déterminante (art. 10 al. 1 in fine LEI). Comme le précise l'art. 9 de l'ordonnance relative à l'admission, au séjour et à l'exercice d'une activité lucrative (OASA, RS 142.201), le séjour ne doit pas excéder trois mois "sur une période de six mois à partir de l'entrée en Suisse". Le séjour doit être interrompu après trois mois; selon la pratique des autorités fédérales, une interruption n'est admise que si l'étranger séjourne au moins un mois à l'étranger. Plusieurs séjours sur une période de six mois sont possibles, pour autant que la durée maximale de la présence en Suisse ne dépasse pas trois mois (PETER UEBERSAX, Einreise und Anwesenheit, in Ausländerrecht, Handbücher für die Anwaltspraxis, vol. VIII, 2e éd., n° 7.92).
En l'espèce, entre le mois de mai 2018 et le 24 juin 2019, le recourant a pénétré et séjourné en Suisse, à plusieurs reprises, pour une durée totale de plus de trois mois sur une période de 180 jours, alors qu'il n'était titulaire d'aucune autorisation de séjour (jugement attaqué p. 11). Il ressort donc de l'état de fait cantonal que le recourant a pénétré en Suisse au mois de mai 2018. L'infraction n'a dès lors été consommée qu'après l'écoulement de la période de trois mois autorisée sans autorisation, à savoir nécessairement après le 7 juin 2018. C'est donc à juste titre que la cour cantonale a considéré que l'infraction à la LEI n'avait pas été commise antérieurement à l'ordonnance de condamnation du 7 juin 2018, mais postérieurement, et qu'elle n'a pas appliqué l'<ref-law>.
2.4. En définitive, la cour cantonale n'a donc pas violé le droit fédéral en fixant la peine sans tenir compte de l'<ref-law>. Les griefs soulevés par le recourant doivent donc être rejetés.
3.
Le recourant conteste la révocation du sursis que le ministère public lui avait accordé dans l'ordonnance du 7 juin 2018. Il fait valoir que le juge ne lui a jamais expliqué la portée et les conséquences du sursis ou du sursis partiel à l'exécution de la peine, dès lors qu'il n'a jamais eu connaissance de l'ordonnance du 7 juin 2018. Dans ces conditions, il ne pouvait pas se rendre réellement compte que la commission d'une nouvelle infraction impliquait potentiellement la révocation d'un sursis précédemment prononcé.
3.1. Selon l'<ref-law>, le juge peut révoquer le sursis précédemment prononcé en cas de commission d'un crime ou d'un délit durant le délai d'épreuve s'il y a lieu de prévoir que le condamné commettra de nouvelles infractions. S'il n'y a pas lieu de prévoir de nouvelles infractions, le juge renonce à ordonner la révocation (al. 2, première phrase).
La commission d'un crime ou d'un délit durant le délai d'épreuve n'entraîne pas nécessairement une révocation du sursis. Celle-ci ne se justifie qu'en cas de pronostic défavorable, à savoir lorsque la nouvelle infraction laisse entrevoir une réduction sensible des perspectives de succès de la mise à l'épreuve (<ref-ruling> consid. 4.2 et 4.3 p. 142 s.). Par analogie avec l'art. 42 al. 1 et 2 CP, le juge se fonde sur une appréciation globale des circonstances du cas d'espèce pour estimer le risque de récidive (<ref-ruling> consid. 4.4 p. 143). Dans l'appréciation des perspectives d'amendement à laquelle il doit procéder pour décider de la révocation d'un sursis antérieur, il doit tenir compte des effets prévisibles de l'octroi ou non du sursis à la nouvelle peine. Il peut parvenir à la conclusion que l'exécution, le cas échéant, de la nouvelle peine aura un effet dissuasif suffisant, justifiant de renoncer à la révocation du sursis antérieur (<ref-ruling> consid. 4.5 p. 144; arrêt 6B_1165/2013 du 1er mai 2014 consid. 2.2).
L'<ref-law> prévoit que le juge explique au condamné la portée et les conséquences du sursis ou du sursis partiel à l'exécution de la peine.
3.2. En l'espèce, la cour cantonale a révoqué le sursis accordé par le ministère public le 7 juin 2018, au motif que le recourant avait récidivé durant le délai d'épreuve et qu'il en découlait un pronostic défavorable. Elle n'a pas abusé de son pouvoir d'appréciation en considérant que la commission d'une infraction aggravée à la LStup laissait entrevoir un pronostic négatif et, partant, en révoquant le sursis (<ref-ruling> consid. 4.5 in fine p. 145; arrêts 6B_458/2011 du 13 décembre 2011 consid. 4.3 et 6B_103/2010 du 22 mars 2010 consid. 2.3). Dans la mesure où le recourant soutient ne pas avoir eu connaissance de l'ordonnance du 7 juin 2018 ni en conséquence de l'avis selon l'<ref-law>, il invoque un fait qui ne figure pas dans le jugement attaqué, de sorte que son grief est irrecevable.
4.
Dénonçant une violation de l'<ref-law>, le recourant critique la mesure de la peine qui lui a été infligée. En particulier, il reproche à la cour cantonale d'avoir prononcé une peine excessive en raison du blanchiment d'argent et d'avoir retenu à charge des antécédents.
4.1. Aux termes de l'<ref-law>, le juge fixe la peine d'après la culpabilité de l'auteur. Il prend en considération les antécédents et la situation personnelle de ce dernier ainsi que l'effet de la peine sur son avenir (al. 1). La culpabilité est déterminée par la gravité de la lésion ou de la mise en danger du bien juridique concerné, par le caractère répréhensible de l'acte, par les motivations et les buts de l'auteur et par la mesure dans laquelle celui-ci aurait pu éviter la mise en danger ou la lésion, compte tenu de sa situation personnelle et des circonstances extérieures (al. 2).
Le juge dispose d'un large pouvoir d'appréciation dans la fixation de la peine. Le Tribunal fédéral n'intervient que lorsque l'autorité cantonale a fixé une peine en dehors du cadre légal, si elle s'est fondée sur des critères étrangers à l'<ref-law>, si des éléments d'appréciation importants n'ont pas été pris en compte ou, enfin, si la peine prononcée est exagérément sévère ou clémente au point de constituer un abus du pouvoir d'appréciation (<ref-ruling> consid. 1.2 p. 319).
4.2. La cour cantonale a considéré que l'infraction grave à la LStup, qui était sans conteste la plus grave, justifiait le prononcé d'une peine privative de liberté de l'ordre de quatre ans. En particulier, elle a tenu compte de la nature et de la quantité des drogues trafiquées, du rôle du recourant dans le trafic, de la portée internationale de ce trafic, des antécédents judiciaires, de la mauvaise collaboration à l'enquête et de l'absence de prise de conscience de la gravité des actes. Elle a augmenté la peine de base d'un an pour réprimer le blanchiment d'argent et de six mois pour sanctionner les infractions à la LEI. Elle a ainsi estimé que la peine privative de liberté de cinq ans et six mois prononcée par les premiers juges était adéquate. Considérant que le recourant ne s'était rendu coupable que de blanchiment d'argent (et non de blanchiment d'argent qualifié), elle a supprimé la peine pécuniaire prononcée à l'encontre du recourant par le tribunal de première instance. Elle a considéré que la contravention à la LStup justifiait le prononcé d'une amende de 300 fr., la peine privative de liberté de substitution en cas de non-paiement fautif étant de dix jours.
4.3. La cour cantonale n'a pas outrepassé son pouvoir d'appréciation en augmentant la peine de base d'un an pour punir le blanchiment d'argent. Elle a tenu compte dans une mesure adéquate de l'abandon de l'infraction qualifiée de blanchiment en supprimant la peine pécuniaire de 120 jours-amende à 30 fr. le jour.
Le recourant fait valoir que la cour cantonale n'aurait pas dû tenir compte, à sa charge, de ses antécédents judiciaires, dès lors qu'il n'était pas au courant de sa précédente condamnation. Comme vu précédemment, par cette argumentation, le recourant invoque un fait nouveau et s'écarte ainsi de l'état de fait cantonal, de sorte que son grief est irrecevable.
4.4. En définitive, il n'apparaît pas que la cour cantonale aurait méconnu des éléments déterminants, pas plus qu'elle en aurait négligé certains ou aurait accordé une importance excessive à d'autres. Dans ces circonstances, il y a lieu d'admettre que la peine infligée au recourant ne procède pas d'un abus du large pouvoir d'appréciation dont disposait la cour cantonale.
4.5. Vu la quotité de la peine infligée au recourant, le sursis partiel est exclu. Le grief tiré de la violation de l'<ref-law> doit donc être rejeté.
5.
Le recourant ne conteste pas la mesure d'expulsion en tant que telle, mais uniquement sa durée, qu'il estime excessive.
5.1. Aux termes de l'<ref-law>, le juge expulse de Suisse l'étranger qui est condamné notamment pour infraction grave à la loi fédérale sur les stupéfiants (let. o), quelle que soit la quotité de la peine prononcée à son encontre, pour une durée de cinq à quinze ans.
Le juge doit fixer la durée de l'expulsion dans la fourchette prévue de cinq à quinze ans, en tenant compte du principe de la proportionnalité (arrêt 6B_1043/2017 du 14 août 2018 consid. 3.1.3 et la référence citée). Le critère d'appréciation est la nécessité de protéger la société pendant un certain temps en fonction de la dangerosité de l'auteur, du risque qu'il récidive et de la gravité des infractions qu'il est susceptible de commettre à l'avenir, à l'exclusion de toute considération relative à la gravité de la faute commise (arrêt 6B_183/2020 du 28 octobre 2020 consid. 4.1; GRODECKI/JEANNERET, L'expulsion judiciaire / IV. - VI., Droit pénal - Évolutions en 2018, 2017, p. 149). La durée de l'expulsion n'a pas à être symétrique à la durée de la peine prononcée (arrêts 6B_549/2019 du 29 mai 2019 consid. 2.3; 6B_242/2019 du 18 mars 2019 consid. 1.3).
5.2. Le recourant s'est rendu coupable d'infractions graves à la LStup, mettant en danger la santé de nombreuses personnes. Son expulsion doit ainsi permettre de protéger la société et l'ordre public. A cet égard, on rappellera que la Cour européenne des droits de l'homme a estimé que, compte tenu des ravages de la drogue dans la population, les autorités sont fondées à faire preuve d'une grande fermeté à l'encontre de ceux qui contribuent à la propagation de ce fléau (cf. arrêts CourEDH K.M. c. Suisse du 2 juin 2015 [requête no 6009/10], § 55; Dalia c. France du 19 février 1998, Recueil CourEDH 1998-I 76 § 54; cf. aussi arrêt 6B_143/2019 du 6 mars 2019 consid. 3.4.2). Pour le surplus, le recourant ne peut se prévaloir d'aucune attache en Suisse, si ce n'est deux enfants qu'il ne voit que très irrégulièrement, à l'entretien desquels il ne contribue pas et avec lesquels il ne fait valoir aucun lien particulier; en revanche, il est titulaire d'un permis de séjour en Espagne, pays dans lequel il a de la famille. Dans ces conditions, la durée de l'expulsion, qui correspond à la durée médiane prévue à l'<ref-law>, est tout à fait proportionnée. Le grief soulevé doit être rejeté.
6.
Le recours doit être rejeté dans la mesure où il est recevable.
Comme ses conclusions étaient vouées à l'échec, l'assistance judiciaire ne peut pas être accordée (<ref-law>). Le recourant devra donc supporter les frais judiciaires (<ref-law>), dont le montant sera toutefois fixé en tenant compte de sa situation financière.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
La demande d'assistance judiciaire est rejetée.
3.
Les frais judiciaires, arrêtés à 1'200 fr., sont mis à la charge du recourant.
4.
Le présent arrêt est communiqué aux parties et à la Cour d'appel pénale du Tribunal cantonal du canton de Vaud.
Lausanne, le 6 octobre 2021
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
La Présidente : Jacquemoud-Rossari
La Greffière : Kistler Vianin