區塊鏈 | ETH投票項目

區塊鏈投票項目


項目地址

GITHUB


項目說明

區塊鏈投票小項目,主要使用了Nuxt和web3.git


項目設計

1. 服務結構

雖然中心化服務器使得合約操做有了中心化風險,可是在當前智能合約性能較弱、功能不完善的時候中心化服務器有利於集中管理、提升服務性能、提供附加服務。github

PIC1

2. 服務器結構設計

除了基本的用戶註冊、用戶帳戶信息存儲、合約基本信息存儲、附加服務如請求加入合約,其他操做均由服務器在區塊鏈上進行操做。數據庫中只存儲基本信息。web

PIC2

3. 用戶頁面設計

提供合約操做的圖形化接口,儘量使用戶直觀、方便、快捷地進行合約操做,免去不方便地命令行等直接操做。數據庫

PIC3

4. 數據庫設計

數據庫只用於存儲基本信息,如用戶信息、合約信息、請求信息、參與表。其他信息和操做都經過區塊鏈來進行。服務器

PIC4


使用說明

1. 登陸與註冊

PIC5

  • 帳號密碼按要求填寫便可,可是註冊時會直接用有資產的帳戶給新建帳戶轉 1ETH,因此須要修改VoteSystem/server/contractOP/contractOP.jsshowMeTheMoney函數中的測試帳戶

2. 建立投票項目

PIC6

  • 因爲使用 String 或 bytes 太多會致使 gas 不足,因此存儲的數據都限定爲 bytes32,也就是隻能有限個字符。

3. 建立的合約管理

PIC7

  • 點開每一行能夠看到全部的提議

4. 首頁加入項目

PIC8

  • 全部未申請以及未參與的項目都會顯示在主頁。

5. 請求參加項目

圖片描述

  • 全部請求參加的項目都在個人請求項中,能夠在請求被批准前取消。

6. 請求管理

PIC10

  • 全部申請參加屬於該用戶建立的合約的請求都會顯示在管理請求中。

7. 參與的投票

PIC11

  • 我參與的顯示全部被批准參與的投票。

8. 投票完成

PIC12

  • 點擊提議能夠給合約投票,投票完成後刷新頁面從新獲取票數。

測試

測試視頻數據庫設計

使用ganache-cli做爲測試用區塊鏈
相關文章
相關標籤/搜索