Skip to content

mukulChandYadav/Ethereum-Crowdfunding

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ethereum Crowdfunding

A decentralized crowdfunding blockchain application.

Contracts

Hub contracts

FundingHub.sol

The funding interface contract.

StandardFundingHub.sol

The project funding hub implementation contract. Allows for creation of a project, stores a record of all projects created by the hub, and allows users to fund each project.

Owned.sol

Child contract which manages ownership of the funding hub.

Project contracts

Project.sol

Project interface contract. Include stages and stage management modifiers.

StandardProject.sol

Project implementation contract. Enables funding of a project, refunds and payouts.

Token contracts

Token.sol

Standard ERC-20 token interface.

FundingToken

Funding token implementation. Allows deposits, withdrawals, transfers, allowance transfers (typically mediated by the token's parent project contract) and keeps a record of individual contributions

Utility contracts

Math.sol

Standard overflow and underflow protection routines.

dApp Workflow

Project created during funding hub deployment. (As per 2_deploy_contracts.js)

Project Created

Createing a new project

Project Creation

Project Creation

Project Creation

Funding a project

Project Funding

Project Funding

Tests

Tests written using Node async/await.

Test cases

it("Should perform an end-to-end test concluding with pay out.", async () => {
	...
});
 it("Should demonstrate project expiry, using testrpc 'time travel'.", async () => { 
	 ...
 });
 it("Should demonstrate project expiry, funding failure, and refunds.", async () => { 
	 ...
 });
 it("Should create several projects for one hub.", async () => { 
	 ...
 });
 it("Should not allow funding if hub is deactivated", async () => { 
	 ...
 });

About

A decentralized crowdfunding application.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 63.6%
  • Solidity 23.3%
  • HTML 12.4%
  • CSS 0.7%