Projects

Ether Fund Raiser

Ether Fund Raiser

An Ethereum Decentralised Application (DApp) that can be used to raise cryptocurrency (Ether) funds, with payments then released based on contributors voting for each spending request.

Functional overview:
  • Fund-Raisers deploy a “fundraiser” Smart Contract onto the Ethereum Blockchain, defining the contract deadline (in Ethereum blocks of roughly 15 seconds) and the financial goal and minimal contribution levels (both in Wei, the smallest denomination of the Ether Cryptocurrency). They can then email details of the contract to their contributors
  • Contributors connect to the relevant contract and send donations. If the deadline passes without the goal being reached then the contributors can directly claim a refund of their contribution
  • Once the goal is reached, the fund-raiser can then issue one or more Spending Requests with details of what the raised funds will be spent on. They can also email details of these to their contributors
  • The contributors can then vote to approve each spending request
  • Once a spending request receives votes of over 50% of the contributors the fund-raiser can then release the crypto funds. If no spending requests are approved and paid within the Initial Payment period then the contributors can also claim a refund of their contribution.

This DApp requires an Ethereum Wallet, such as MetaMask, installed in the user’s web browser. Each transaction then requires approval via the Wallet before being submitted to the blockchain.

It is possible to test all the functionality of the DApp using the Ethereum Test Networks (Goerli, Rinkeby, etc.) prior to connecting to the live Main Network.

An “Events” section is included at the bottom of the DApp screen to communicate all processing activities.

DApp pages:

The DApp has the following pages:

  • Home: Provides an overview of the application and how the process works for Fund Raisers and Contributors
  • New Contract: Provides the ability to deploy a new fundraiser Smart Contract onto the Ethereum Blockchain by supplying the contract duration, initial payment duration, goal and minimum contribution level for the fundraising campaign
  • Existing Contract: Provides the ability to view the current status and interact with an existing contract already deployed, including making contributions, getting a refund (if allowed) and changing the contract owner
  • Spending Requests: Provides the ability for the contract owner to raise spending requests, for contributors to vote on them, and once approved for the funds to be released

In addition, there are two pop-up tools to assist in using the DApp:

  • Block Converter: This provides a conversion between number of blocks and duration (in Days/Hours/Minutes) based on the current network block time, which can be set manually or uses the current Network Average Block Time from Etherscan
  • Wei Converter: A simple converter between Wei, Ether and USD based on the current rates published in Etherscan
Technical overview:
  • This DApp has an HTML front-end built using the Bootstrap toolkit
  • It uses JavaScript and the web3.js API to process transactions onto the Ethereum Blockchain
  • It accesses the Blockchain via an Ethererum Wallet (such as MetaMask) using the "fundraiser" smart contract, all of which is supported using data from Etherscan.

 (Image above by Peter Patel from Pixabay)

Date

22 May 2020

Tags

Blockchain