Skip to content

4. Connexion

Sam edited this page Mar 30, 2017 · 8 revisions

Au niveau d'un noeud, le lien Ethereum / CitizenWatt est porté par un script Python : dz_interaction.py. Celui-ci va se connecter au noeud via la librairie Ethereum RPC Client et au CitizenWatt via les API. À noter que ce script est en cours de développement / test.

Installation de la librairie "Ethereum RPC Client"

sudo pip3 install ethereum-rpc-client

Cette librairie permet d'interagir avec les smart-contracts. Elle s'appuie sur l'API JSON RPC et utilise l'interface ABI (Application Binary Interface).

Exemple

L'appel des fonctions du smart-contract se fait notamment via le selector associé à chacune d'elle (et visible au niveau du compilateur en ligne).
selector

Échange d'énergie

Le script va :

  • mettre à jour la balance d'énergie sur la Blockchain à partir des données collectées par CitizenWatt
  • déclencher un "échange" d'énergie

DApp

Dans cette version du prototype, l'échange se matérialise par l'actionnement d'un switch à partir du script.

Sketch du switch : https://github.com/DAISEE/DzApp/blob/master/arduino-relay/arduino-relay.ino (in progress)

Clone this wiki locally