Aller directement au contenu
  • 0 Votes
    1 Messages
    826 Vues
    Personne n'a répondu
  • 0 Votes
    1 Messages
    1k Vues
    Personne n'a répondu
  • 0 Votes
    1 Messages
    2k Vues
    Personne n'a répondu
  • 0 Votes
    1 Messages
    2k Vues
    Personne n'a répondu
  • 0 Votes
    1 Messages
    2k Vues
    Personne n'a répondu
  • 0 Votes
    1 Messages
    2k Vues
    Personne n'a répondu
  • Meetup Lillois

    Evénements
    4
    1 Votes
    4 Messages
    4k Vues
    BlaiseB

    Salut, Y a t’il d’autres Meetup prévus sur Lille prochainement ?
    Merci

  • 0 Votes
    8 Messages
    14k Vues
    R

    @ffmad Bonsoir ffmad. Merci beaucoup pour ce tuto excellent. Je l’ai essayé et tout se passe à merveille sur testrpc. Cependant, quand je le test sur morden testnet, là c’est vraiment une autre paire de manche. D’abord, le déploiement ne fonctionne que si le compte n°0 “eth.coinbase” est débloqué. Ensuite le déploiement utilise du gaz à ce que j’ai vu. Et après avoir surmonter toutes les péripéties avec testnet, enfin la page web envoie une vraie transaction (vérifiée sur testnet.etherscan.io) mais la valeur du “temps du vote” ne change pas malgré que je suis sur le premier compte. J’ai cherché et j’ai remarqué que sur testrpc, Democracy.deployed().owner envoi bien l’adresse du compte 0 tandis que sur testnet la fonction envoie 0x. Avez vous une idée d’où peut venir cette erreur sur Testnet?

    Merci par avance pour votre aide
    Bien cordialement

  • 0 Votes
    6 Messages
    9k Vues
    ffmadF
    5 - Votons ! contract Democracy { uint public votingTimeInMinutes ; // Propriétaire du contrat address public owner; // Les membres (tableau adresse / appartenance aux votants) mapping (address => bool) public members; // Liste des propositions Proposal[] proposals; // Definition de l'objet proposal struct Proposal { string description; mapping (address => bool) voted; bool[] votes; uint end; bool adopted; } // Auth propriétaire uniquement modifier ownerOnly(){ if (msg.sender != owner) throw; _ } // Auth membre uniquement modifier memberOnly(){ if (!members[msg.sender]) throw; _ } // Si la proposition correspondant à cet index n'est pas ouverte au vote, la fonction n'est pas exécutée modifier isOpen(uint index) { if(now > proposals[index].end) throw; _ } // Si la proposition correspondant à cet index est fermée au vote, la fonction est exécutée modifier isClosed(uint index) { if(now < proposals[index].end) throw; _ } // Si le compte (msg.sender) a déjà vôté pour cette proposition, la fonction n'est pas exécutée modifier didNotVoteYet(uint index) { if(proposals[index].voted[msg.sender]) throw; _ } // Constructeur function Democracy() { owner = msg.sender; setVotingTime(votingTime); } // Fonction de modification du temps function setVotingTime(uint newVotingTime) ownerOnly() { votingTimeInMinutes = newVotingTime; } // Ajout des membres function addMember(address newMember) ownerOnly() { members[newMember] = true; } // Ajouter une proposition function addProposal(string description) memberOnly() { uint proposalID = proposals.length++; Proposal p = proposals[proposalID]; // Donner la description p.description = description; // Donner le moment de fin de vote p.end = now + votingTimeInMinutes * 1 minutes; } // Voter pour une proposition function vote(uint index, bool vote) memberOnly() isOpen(index) didNotVoteYet(index) { proposals[index].votes.push(vote); proposals[index].voted[msg.sender] = true; } // Obtenir le résultat d'un vote function executeProposal(uint index) isClosed(index) { uint yes; uint no; bool[] votes = proposals[index].votes; // On compte les pour et les contre for(uint counter = 0; counter < votes.length; counter++) { if(votes[counter]) { yes++; } else { no++; } } if(yes > no) { proposals[index].adopted = true; } } }

    Les conditions isOpen et isClosed vont vérifier que la date de fin de vote de la proposition index est passée ou non. Selon le cas, on pourra faire un nouveau vote via la fonction vote() ou obtenir le résultat de la proposition via la fonction executeProposal()

    La condition didNotVoteYet va vérifier que le compte souhaitant voter ne l’a pas déjà fait.

    fonction vote() function vote(uint index, bool vote) memberOnly() isOpen(index) didNotVoteYet(index) { proposals[index].votes.push(vote); proposals[index].voted[msg.sender] = true; }

    push permet d’ajouter le vote (booléen) à la liste des votes de l’objet proposal (trouvé à la position index dans la liste des propositions)

    On va ensuite modifier la variable voted associée au votant en true (cette variable ayant été mise par défaut à false)

    fonction executeProposal() // Obtenir le résultat d'un vote function executeProposal(uint index) isClosed(index) { uint yes; uint no; bool[] votes = proposals[index].votes; // On compte les pour et les contre for(uint counter = 0; counter < votes.length; counter++) { if(votes[counter]) { yes++; } else { no++; } } if(yes > no) { proposals[index].adopted = true; } }

    Cette fonction ne peut être exécutée que si la proposition (trouvée à index) est terminée. On va tout simplement parcourir le tableau des votes de la proposition et compter combien de votes oui et votes non ont été faits.

    Si il y a plus de votes oui que de votes non, la fonction va retourner un résultat positif (booléen true), sinon rien.

    Suite

    Avec ce code nous en avons donc finit avec notre contrat. Maintenant il serait agréable de pouvoir faire une application permettant de voter en utilisant ce contrat. vous pouvez voir cela dans la partie 2 :

  • 0 Votes
    4 Messages
    4k Vues
    slashbinS

    Happy birthday !!

  • 0 Votes
    1 Messages
    3k Vues
    Personne n'a répondu
  • 1 Votes
    5 Messages
    5k Vues
    ffmadF

    n’hésite pas à indiquer les meetups que tu organises dans la section événement : https://www.cryptofr.com/category/31/evénements 🙂

  • 0 Votes
    3 Messages
    5k Vues
    slashbinS

    @mably J’ai soumis la seule date où je suis dans les alentours de bordeaux. En espérant qu’elle soit choisie ^_^ mais c’est pas grave sinon 😛

  • Meet up Bitcoin à Tours

    Evénements
    2
    1 Votes
    2 Messages
    5k Vues
    ffmadF

    sympa de voir le Bitcoin s’exporter dans d’autres villes que Paris (et Toulouse) 🙂

    Je n’arrive pas à accéder à l’événement Facebook ?

  • 0 Votes
    11 Messages
    9k Vues
    ffmadF

    @Crypto_King ça va être compliqué … 😕

  • Suite Meetup #1 du 4 mars 2015

    Crypto-monnaies
    4
    0 Votes
    4 Messages
    4k Vues
    E

    @netmonk Par exemple, la blockchain est une façon innovante d’implémenter des solutions à des problèmes qui se posent de manière récurrente depuis des décennies. Mais de plus, l’innovation introduite invite a se poser de nouvelles questions sur les effets que ces solutions en particulier vont induire

    C’est donc à la fois quelque chose qui peut se situer dans la continuité des efforts fournis jusque là (on peut faire une histoire des problématiques, de leurs formulations, des propositions successives…) mais aussi l’innovation introduit une rupture, car une fois qu’elle a été introduite, on ne peut “revenir” en arrière et se contenter des éléments qui l’ont précédée.

  • 0 Votes
    6 Messages
    6k Vues
    ffmadF

    Très bon meetup hier, et bonne prestation de @David-Latapie sur monero 🙂

    Prochain meetup fin Tech sur la blockchain en mars.

    Apparemment il sera interdit de parler de bitcoin et de monnaie ^^

  • 0 Votes
    4 Messages
    7k Vues
    D

    Des “sacs” prêts a être dumpé lol
    L’absence de blockchain ça fait bizarre, du coup ça sera 100% anonyme? Pas d’historique c’est génant aussi que se passe t’il en cas de hack, on peut pas remonter a la source
    Dire que c’est un projet qui date de 2006 soit avant le Bitcorn http://maidsafe.net/timeline
    J’imagine la déception des personnes ayant bosser dessus depuis 2006 si le projet n’aboutit pas
    D’après un dev il parait que le lancement aura lieu pour janvier 2016 au plus tôt soit dans un an encore

  • 0 Votes
    17 Messages
    11k Vues
    superresistantS

    C’était super. Pleins de nouvelles têtes qui s’intéressent au Bitcoin et cryptos, c’est bon signe 😉

  • 0 Votes
    1 Messages
    3k Vues
    Personne n'a répondu