Aller au contenu
Blockchain Association of Cameroon
BAC-L1-COSMOS-102Cosmos SDKIntermédiaire

Go II — concurrence, contextes, tests

Un nœud est un programme concurrent. Goroutines, canaux, contextes d'annulation : la boîte à outils qui empêche cette concurrence de devenir un piège.

Niveau
L1Développeur blockchain
Durée
4 h
Piste
Cosmos SDK
Mainteneur
Architecte principal Cosmos

Objectifs pédagogiques

  • 01Coordonner plusieurs goroutines par canaux et contextes
  • 02Arrêter proprement un service concurrent
  • 03Détecter une course de données par l'outillage

Laboratoire guidé

Écrire un collecteur concurrent de blocs, annulable, et le tester sous détecteur de courses.

Laboratoire autonome

Introduire volontairement une course, la faire détecter par l'outillage, puis la corriger.

Volet sécurité

Une course de données dans un nœud produit des états divergents entre validateurs — donc une fourche.

Évaluation

Service concurrent testé sans avertissement du détecteur de courses.