Blockchain
Antoine DESHAYS
Lucas DIGUET
Briac LE GUEN
Yumeng MA
Thomas QUENTEL
Louis SPIERENBURG
Sommaire
1 . Esprit du projet
2. Points importants
3. Difficultés rencontrées
4. Extensions possibles
Le projet
Application de vote décentralisée
Blockchain privée
Smart contracts
TECHNOLOGIES
ORGANISATION
Infrastructure
Blockchain
Smart Contract
Front end
Navigateur
BACK END
Blockchain : 3 noeuds dont 1 mineur
BACK END
Smartcontract : gestion des événements
function vote (uint _candidateId) public {
require(!voters[msg.sender]);
//require(_candidateId > 0 && _candidateId <= numCandidates);
voters[msg.sender] = true;
candidates[_candidateId].voteCount ++;
emit votedEvent(_candidateId);
}
FRONT END
Javascript
VotingContract.setProvider(window.web3.currentProvider);
console.log(window.web3);
VotingContract.defaults({from: window.web3.eth.defaultAccount,gas:6721975})
VotingContract.deployed().then(function(instance){
instance.getNumOfCandidates().then(function(numOfCandidates){
console.log(numOfCandidates);
if (numOfCandidates == 0){
$("#candidate-radio").append(`<p>Aucun Candidat n'est inscrit pour le moment</p>`)
}
else {
for (var i = 0; i < numOfCandidates; i++ ){
instance.getCandidate(i+1).then(function(data){
$("#candidate-radio").append(`<div class="form-check">
<input class="form-check-input" type="radio" name="candidate" value="" id=${data[0]}>
<label class="form-check-label" for=${data[0]}>${data[1]}</label></div>`)
})
}
}
FRONT END
Javascript
FRONT END
Metamask
DIFFICULTÉS
Travail distant
Déploiement du smart contract
EXTENSIONS
Déploiement simplifié avec Docker
Affichage d'informations sur les candidats
Ajout de boutons de partage vers les réseaux sociaux
DÉMONSTRATION
Merci de votre attention.
5BLOC
By creakze tech
5BLOC
- 412