Web3j 原始碼的生成指令
系統操作流程
母合約在整個系統中是必要的元素,在設計中,一個區塊鏈中(整個國家只會擁有一個區塊鏈)理論上只會存在一個母合約,而隨著投票的進行,投票合約會被母合約發佈,而母合約終究只有一個。
下方流程都是在母合約發佈後才能進行的操作,要發佈母合約,必須透過Java程式來進行發佈,母合約發佈檔路徑 blockchain-voting-system/src/main/java/org/web3j/mavenplugin/Main2.java
執行程式後會看到登入畫面,在文字框內輸入自己帳號的私鑰和地址便可登入。
如果登入者微系統預設管理者的私鑰則會出現部屬合約的視窗,管理者輸入候選人的名字後發布合約(預設候選人數為三個)。
看到跳出視窗代表合約部屬成功
接著管理者可以看到管理者的操縱畫面,有start ballot 跟 end ballot兩個按鈕,管理者按下 start ballot 後投票者才能開始投票,當管理者按下結束投票,管理者視窗會跳出最終結果畫面。
但如果投票人要看到投票結果要按下顯示選舉結果按鈕,如果投票已經結束,才會顯示出結果視窗。另外refresh按鈕可以讓管理者在部屬合約時更新管理者畫面。
結果頁面有每個候選人獲取的票數和當選者的名字顯示在最上方。
因為UI介面的ganache測試鏈出現問題,使用架構相同ganache-cli來當作測試鏈。
原本使用的ganache畫面










