Illustration visuelle du challenge de code : #5 : La percée
Hack Avancé

#5 : La percée

Charlotte extraie des informations de la blockchain où sont enregistrés les NFT. Sauras tu trouver la signature de tes œuvres ?

Code : DIGITALART_5

Ce challenge fait partie de l’histoire originale : L’art du code, la revanche d’Ada.

Mission

Ada a toujours aimé les films d’espionnage. Elle s’infiltre avec talent parmi les invités, évite les caméras et parvient à glaner de précieuses informations. Après tout, il suffit de tendre l’oreille au bon endroit et au bon moment : « Les toutes nouvelles œuvres de Jeff sont phénoménales, visionnaires, tellement avant-gardistes. D’ailleurs, elles ont déjà été converties en NFT et stockées sur une blockchain. Quel génie ! ».

Converties en NFT, ses œuvres ? Elle envoie tout de suite l’info à Charlotte. « Ok, trouve le nom du protocole », lui répond-elle du tac-o-tac. Ada se glisse à côté d’un homme au look futuriste qui semble émerveillé par le travail de Jeff Square, et glisse tout doucement : « ces œuvres sont vraiment extraordinaires, dommage qu’elles ne soient pas protégées par une blockchain de qualité… ». A ces mots, l’homme se raidit : « Je ne peux pas vous laisser dire ça, le protocole Parallélépipèda est le meilleur de tous ! ». Ada sourit. « Oui, excusez-moi, vous avez raison ». Puis, elle s’éclipse discrètement.

Charlotte récupère un extrait de cette blockchain qu’elle s’empresse d’étudier…

Règles

Tu as à ta disposition une liste de blocs. Malheureusement ils ont été complètement désordonnés lors de l’extraction.

Chaque bloc est composé de 4 sections de 10 caractères, séparées par des _

Par exemple : c001224035_e7ae352efd_065c0dfc82_943615660e

Ici, la portion c001224035 est la portion du début, elle représente l’identifiant unique du bloc.

943615660e est la portion de la fin, il représente l’identifiant « source » du bloc. C’est à dire qu’il fait référence à l’id d’un autre bloc, qui se trouve « avant » lui dans la chaine de blocs.

On recherche le bloc qui se trouve au bout de la chaine de blocs la plus longue parmi tous les blocs à disposition. C’est forcément là que se trouve la signature des œuvres originelles !

Tu dois retourner la longueur de la chaine de blocs et l’id du dernier bloc de la chaine, séparés par un _.

Exemple de sortie : 6_6474c7b975 => Une chaine de 6 blocs dont le dernier bloc a l’id 6474c7b975.

Résoudre le challenge

Pour coder ce challenge, plusieurs possibilités. Si tu débutes, utilise la Sandbox en ligne. Si tu es plus à l'aise, regarde la documentation de notre API, pour coder en local. Tu peux aussi copier/coller un jeu de données ci-dessous.

Quelques ressources pour t'aider : Données et logique algoritmique Méthodologies Corrigés

Accompagnement à la résolution

Progresse dans les challenges en utilisant nos aides à la résolution : outils, techniques et conseils pour t'aider à surmonter les challenges de programmation les plus complexes avec méthodologie, assurance et créativité.

Jeu de données et logique algorithmique

A partir des données et de la réponse attendue, aide toi du déroulé pour déterminer la logique à mettre en oeuvre.

Afficher les données et le déroulé

Méthodologies

Développe une approche structurée grâce à nos guides de résolution. Travaille des concepts précis comme la programmation orientée objet ou les tests unitaires, pour améliorer ta manière de coder et progresser.

Pas de méthodologie encore pour ce challenge, mais on y travaille ! Suis-nous pour être informé de la sortie !


Corrigés

Les corrigés te permettent de découvrir certains concepts techniques mais vont aussi te donner une solution au challenge. Code le challenge par toi même avant de consulter les corrigés ;)

Pas de corrigé encore pour ce challenge, mais on y travaille ! Suis-nous pour être informé de la sortie !

Concept(s) de programmation utilisables pour résoudre ce challenge : Conditions, Tableaux, Chaines de caractères, Récursivité

Keep coding

Autres challenges à réaliser

Intermédiaire
Détermination de mot de passe

Détermination de mot de passe

Rentre dans la peau d’un hacker et tente de pénétrer le système d’une entreprise en craquant un mot de passe.

Hack Corrigé disponible : PHP
Débutant
Code César

Code César

Une façon simple de dissimuler un message consiste à décaler toutes les lettres qu’il contient.

Hack
Intermédiaire
Break the code #1

Break the code #1

Tu te sens l’âme d’un hacker ?! Essaye de décrypter le code secret à partir des informations fournies…

Hack

Ta newsletter chaque mois

Corrigés, challenges, actualités, veille technique... aucun spam.