Skip to content

Smart contract: a charity crowdfunding contract with many stages

Notifications You must be signed in to change notification settings

YuTaNCCU/Smart-Contract-Crowdfunding

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

Smart-Contract-Crowdfunding

Smart contract: a charity crowdfunding contract with many stages

設計理念

此專案在公益群眾募資平台的架構上,加入階段式需求,當某階段募款金額達標後,下一階段才 會開始。每個階段的目標金額及預計結束時間都可由發起人自訂,且每一專案不同階段主要的 資助項目可能不同,越前期的階段,越針對短期急難救助。 該設計的好處有以下兩點:

  1. 對贈與人來說,可根據發起人在前期階段的執行成效來決定是否繼續贊助此專案,亦可根 據贈與人對事件的關注程度來提供不同等級的支援。
  2. 對受贈人來說,可以加速短期急難救助的募款速度,但又保有中、長期的援助可能。 設計概念如下圖所示:

設計機制

  1. 區塊鏈種類:使用公有鏈,為了能夠使資料公開透明、資料儲存的安全、且無快速驗證的需求。
  2. 共識機制:使用權益證明 (Proof of Stake),以避免工作量證明 (Proof of Work) 機制中,大量購買設備的弊端。
  3. 區塊內容:區塊編號、時間、Hash 值、前區塊的 Hash 值、投票者的地址、總 Gas。
  4. 交易內容:發出帳戶、目標帳戶、金額、Gas 單位、單位 Gas 的價格、輸入資料、Hash 值。
  5. 礦工:礦工互相競爭,將他們的區塊放在鏈上。並可獲得獎勵 (代幣) 及執行程式的補償(Gas)。
  6. 帳戶分類:私人帳戶:只能由個人私鑰控制;合約帳戶:私人帳戶發布後,由程式控制。
  7. P2P 網絡:選擇「結構化 P2P 網絡」,並使用演算法 (e.g. 分佈式哈希表) 優化傳遞、定位的速度。
  8. 不同類型的客戶:從節點的功能—網絡路由、錢包、區塊鏈資料庫來看,客戶至少要有網絡路由功能,若想交易則要有錢包、可若想投票則要儲存區塊鏈資料庫。

上鏈:使用Remix (Solidity IDE),下圖為執行此智能合約的截圖:

About

Smart contract: a charity crowdfunding contract with many stages

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published