- Sie benötigen eine Wallet-Adresse sowie Test-Tokens (Bergs), um das System zu testen.
- Beantragen Sie Test-Bergs über das Bloxberg Faucet: Bloxberg Faucet.
- Erstellen Sie mehrere Accounts: Einen für das Wahlamt und weitere für Studenten oder Admins.
- Öffnen Sie die
.env-Datei und fügen Sie die MNEMONIC Ihrer Wallet ein. - Geben Sie die Adresse für das Wahlamt in der
.env-Datei an.
- Bearbeiten Sie die
truffle-config.jsund fügen Sie ebenfalls die MNEMONIC Ihrer Wallet ein.
- Alle Dateipfade im
src-Ordner sind aktuell noch hartcodiert. Sie müssen diese anpassen, damit sie zu Ihrer Umgebung passen. - Eine dynamische Konfiguration kann nachträglich implementiert werden. Das Programm befindet sich derzeit noch in einer Testphase und ist nicht vollends benutzerfreundlich.
- Nach der Konfiguration können Sie die Smart Contracts mit den folgenden Befehlen deployen:
truffle compile truffle migrate
- Kopieren Sie die vier Adressen der Smart Contracts und fügen Sie diese in die Datei
contractAdressesConfig.jsein.
- Starten Sie die MongoDB-Datenbank mit:
node startMongoDB.js
- Stellen Sie die Verbindung zur Datenbank mit:
node ConnectDB.js
- Nutzen Sie die
generateStudentVoters.js, um 20 zufällige Wähler in die Datenbank zu laden:node generateStudentVoters.js
- Alternativ können Sie einzelne Studenten über die Datei
addStudent.httpim Verzeichnis/test/MongoDBhinzufügen, entfernen oder verifizieren.
- Sie können entweder als Wahlamt, Admin oder als Student agieren.
- Vergeben oder entfernen Sie Admin-Rechte mit:
node add_Admin.js node remove_Admin.js
- Stellen Sie sicher, dass die richtigen Account-Adressen in den Dateien angegeben sind.
- Hinweis: Das Wahlamt hat aktuell noch kein Benutzerinterface.
- Starten Sie die Wahl und laden Sie den Wahlzettel mit:
node setupBallot.js
- Führen Sie die Voter-App mit folgendem Befehl aus:
node {Pfad zur VoterApp.js}
- Geben Sie Ihren Vor- und Nachnamen ein. Falls der Name in der Datenbank existiert, erhalten Sie Zugang zur App.
- Wählen Sie im Menü die Option
1zur Verifikation. - Geben Sie Ihre Matrikelnummer ein, um sich zu verifizieren.
- Nach erfolgreicher Verifikation werden Ihre Wallet-Adresse und Ihr Wahltoken im Terminal angezeigt.
- Hinweis: Die Wallet wird nur dann zur Verfügung gestellt, wenn:
- Sie in MetaMask einen Account erstellt haben.
- Die Adresse in der
blockchain.jskorrekt eingetragen ist. - Der Account mindestens 0.01 Bergs besitzt.
- Über Menüpunkt
2können Sie Ihre Wallet-Adresse und Ihren Token jederzeit einsehen.
- Wenn die Abstimmung gestartet wurde und der Wahlzettel hochgeladen ist, können Sie Ihre Stimme abgeben.
- Nach der Stimmabgabe wird ein Tracking-Hash generiert.
- Sie können Ihre Stimme über Menüpunkt
5verfolgen.
- Beenden Sie die Wahl durch Ausführung von:
node {Pfad zu endElection.js} - Nach Beendigung der Wahl werden die Ergebnisse ausgewertet und veröffentlicht.
- Die Studenten können die Ergebnisse unter Menüpunkt
4einsehen.
- Vor dem Start einer neuen Wahl muss das System zurückgesetzt werden:
node {Pfad zu resetElection.js} - Das System ist nun zurückgesetzt und bereit für eine neue Wahl.
Bei Fragen zur Ausführung des Programms wenden Sie sich bitte per E-Mail an: andrejart@gmx.de.