Skip to content

jensenyang2004/blockchain-voting-system

Repository files navigation

DECENTRIALIZED VOTING SYSTEM

Build Status codecov.io License

程式碼原始路徑

投票合約程式碼路徑:

複製檔路徑:blockchain-voting-system/投票合約.sol

母合約程式碼路徑:

複製檔路徑:blockchain-voting-system/母合約.sol

主系統程式碼路徑:

複製檔路徑:blockchain-voting-system/系統主程式碼.java

Web3j 原始碼的生成指令

1_IVmYRWgQ4yw_aaUNJXdMfw

系統操作流程

母合約在整個系統中是必要的元素,在設計中,一個區塊鏈中(整個國家只會擁有一個區塊鏈)理論上只會存在一個母合約,而隨著投票的進行,投票合約會被母合約發佈,而母合約終究只有一個。

下方流程都是在母合約發佈後才能進行的操作,要發佈母合約,必須透過Java程式來進行發佈,母合約發佈檔路徑 blockchain-voting-system/src/main/java/org/web3j/mavenplugin/Main2.java 

登入畫面

2021-06-27 (9)

執行程式後會看到登入畫面,在文字框內輸入自己帳號的私鑰和地址便可登入。

合約發布

2021-06-16 (12)

如果登入者微系統預設管理者的私鑰則會出現部屬合約的視窗,管理者輸入候選人的名字後發布合約(預設候選人數為三個)。

2021-06-18 (2)

看到跳出視窗代表合約部屬成功

管理者畫面

2021-06-27 (3)

投票者畫面

2021-06-27 (5)

接著管理者可以看到管理者的操縱畫面,有start ballot 跟 end ballot兩個按鈕,管理者按下 start ballot 後投票者才能開始投票,當管理者按下結束投票,管理者視窗會跳出最終結果畫面。
但如果投票人要看到投票結果要按下顯示選舉結果按鈕,如果投票已經結束,才會顯示出結果視窗。另外refresh按鈕可以讓管理者在部屬合約時更新管理者畫面。

結果畫面

2021-06-27 (8)

結果頁面有每個候選人獲取的票數和當選者的名字顯示在最上方。

Ganache-cli畫面

因為UI介面的ganache測試鏈出現問題,使用架構相同ganache-cli來當作測試鏈。

1 2 3

Ganache畫面

原本使用的ganache畫面

image

About

Decentralized voting system written in java

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors