RICM5 2018 2019 - UGAChain - Interface du smart contract

Le smart contract de la blockchain utilisée par UGAChain, dénommé ugachaincode, a été rédigé dans le langage Go. Les différentes fonctions implémentées dans celui-ci sont décrites ci-dessous.



Cette fonction est appelée lors de l'instanciation du réseau de la blockchain. Actuellement celle-ci se contente de laisser une trace de l'initialisation du réseau Hyperledger et retourne nil.



Cette fonction permet l'invocation des fonctions du smart contract. Celle-ci appelle la fonction dont le nom et les paramètres sont passés en paramètre. La valeur de retour de la fonction appelée est retournée. Si la fonction appelée n'existe pas, une erreur est retournée.



Cette fonction supprime le hash passé en paramètre du world state (une transaction de la suppression est ajoutée au ledger). Nil est retourné en cas de succès, une erreur est retournée sinon.



Cette fonction consulte le world state et recherche le hash passé en paramètre. La valeur associée au hash est retournée en cas de succès, la chaîne de caractères  est retournée si le hash est introuvable.



Cette fonction ajoute le hash passé en paramètre au world state du ledger avec pour valeur initiale la chaîne de caractères. Si le hash est déjà présent dans le world state, la chaîne de caractère  est retournée.







Les trois fonctions ci-dessus positionnent respectivement l'état du hash passé en paramètre sur,   et. En cas de succès nil est retourné. Si le hash est déjà positionné sur la valeur ciblée, la chaîne de caractères  est retournée. Si le hash est introuvable au sein du world state, la chaîne de caractères  est retournée.