Skip to content
LHinodePublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

53 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Localisation D2D (device-to-device) basée sur la technologie blockchain

Le projet se concentre sur le développement d'un système de localisation device-to-device (D2D) en utilisant la technologie blockchain. Le projet vise à améliorer la précision et la sécurité des localisations en 2D et 3D. L'objectif du projet est de challenger une architecture de localisation 2D proposée par des membres de l'équipe NPA (du LIP6). Nous allons mesurer l'efficacité via l'utilisation de plusieurs blockchains et nous allons évaluer ses faiblesses face aux différentes attaques.

Prérequis

Création du fichier .env

Le fichier .env permet de stocker les clés privées et publiques ainsi que les adresses des smart contracts. Le fichier doit être placé dans le répertoire python/ du projet et avoir le format suivant :

PRIVATE_KEY="@private_key"
PUBLIC_KEY="@public_key"
SM_TDOA="@sm_TDoA"
SM_REG="@sm_Reg"
SM_LOCATION="@sm_Location"
SM_CHECKLOC="@sm_CheckLoc"

Dépendances des bibliothèques Python

  • web3
  • logging
  • dotenv
  • numpy
  • sklearn (scikit-learn)

Déploiement des smart contracts

1. Préparation avant le déploiement

  1. Modification de la localisation (optionnelle)
    Avant de commencer le déploiement, assurez-vous de modifier la localisation dans Remix :

    • Allez dans Solidity Compiler > Advanced Configuration > Sélectionnez un pays pour la configuration du contrat.
  2. Configurer Metamask

    • Sélectionnez le réseau Sonic dans Metamask. Si ce réseau n'est pas encore configuré, vous devrez ajouter le réseau Sonic à votre Metamask en renseignant les informations nécessaires du réseau (URL RPC, Chain ID, etc.).
  3. Connecter Metamask à Remix

    • Connectez votre compte Metamask à l'IDE Remix Ethereum via l'option Deploy & Run Transactions dans Remix. Cela permettra d'utiliser votre compte Metamask pour déployer les contrats.
  4. Activer l'auto-compilation dans Remix

    • Dans l'onglet Solidity Compiler, n'oubliez pas de sélectionner l'option Auto-compile afin que les contrats se compilent automatiquement dès qu'une modification est effectuée.

2. Déploiement des contrats intelligents

  1. Déployer le contrat smReg

    • Déployez le contrat smReg en premier. Vous pouvez effectuer des transactions à l'avance pour préparer la suite du déploiement.
    • Assurez-vous que les types des variables correspondent à ce qui est attendu dans les paramètres.
  2. Déployer le contrat smLocation et smCheckLoc

    • Une fois le contrat smReg déployé, déployez les contrats smLocation et smCheckLoc en utilisant l'adresse du contrat smReg comme paramètre. Cela permet aux contrats smLocation et smCheckLoc de se référer au contrat smReg.
  3. Déployer le contrat smTDoA

    • Ensuite, déployez le contrat smTDoA en utilisant l'adresse du contrat smLocation comme paramètre.
  4. Effectuer les transactions

    • Assurez-vous que toutes les transactions sont correctement effectuées pour chaque contrat.

3. Vérification des transactions

  • Pour vérifier que le déploiement et les transactions se sont déroulés correctement, vous pouvez filtrer les événements de transactions à l’aide de l’événement TDoAComputed dans Remix. Cela vous permettra de confirmer que les données ont été traitées comme prévu et que les contrats sont correctement interconnectés.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages