Premier jet... Baston avec les Promises

This commit is contained in:
Matt Marcha 2018-06-10 19:05:17 +02:00
parent b6e2e993bb
commit 0a093b1bd2
3 changed files with 24 additions and 4 deletions

View file

@ -12,7 +12,7 @@ var http = require('http');
* Get port from environment and store in Express.
*/
var port = normalizePort(process.env.PORT || '3000');
var port = normalizePort(process.env.PORT || '3010');
app.set('port', port);
/**

View file

@ -1,9 +1,25 @@
var express = require('express');
var router = express.Router();
var Web3 = require('web3');
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
//Connexion au noeud de la blockchain pour récupérer les infos
var web3 = new Web3();
web3.setProvider(new web3.providers.HttpProvider("http://93.30.148.59:1401"));
// On détermine un objet qui contiendra les infos à utiliser dans la vue
function Blockchain(web3Instance) {
this.wallets = web3Instance.eth.getAccounts();
this.nbBlocks = web3Instance.eth.getBlockNumber();
this.montant = web3Instance.eth.getBalance("0x5421c79d465a288c28e10aa43f9b7dff1b313c8e");
}
infos = new Blockchain(web3);
//On fait un Promise all pour récupérer toutes les valeurs et les envoyer dans la vue... y a surement plus propre mais pour l'instant j'ai pas la bonne logique.
Promise.all([infos.wallets, infos.nbBlocks, infos.montant]).then(values=>{ res.render('index', { title: 'Moniteur de Blockchain', infos: values });});
//TODO : Trouver un moyen de récuéprer les valeurs des Promises pour les traiter et ensuite els envoyer à la vue -> permettra de lister transactions ?
//TODO : Actualiser valeurs sur la page sans refresh
});
module.exports = router;

View file

@ -2,4 +2,8 @@ extends layout
block content
h1= title
p Welcome to #{title}
p Number of accounts : #{infos[0].length}
each account in infos[0]
pre= account
p Number of blocks : #{infos[1]}
p Montant du compte n°1 : #{infos[2]}