Skip to content

3. Échanges

Nicolas Loubet edited this page Feb 19, 2017 · 2 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](https://hackpad-attachments.imgix.net/hackpad.com_CCIvAqntMVV_p.602889_1477864224577_Capture d’écran_2016-10-30_22-49-32.png)

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 (en cours de mise à jour).

Clone this wiki locally