Coder Social home page Coder Social logo

niklr / crowdmint Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 1.0 2.4 MB

Decentralized crowdfunding powered by Nervos Network

Home Page: https://niklr.github.io/crowdmint/

TypeScript 96.35% Solidity 3.14% Batchfile 0.01% HTML 0.44% JavaScript 0.07%
defi nervos nervosnetwork

crowdmint's Introduction

CrowdMINT

Decentralized crowdfunding on Nervos Network.

CrowdMINT logo

CrowdMINT is a blockchain based solution leveraging NFTs to crowdfund community projects.

The developed smart contracts support both the fixed AON (All-Or-Nothing) and the flexible KIA (Keep-It-All) crowdfunding models. A big advantage of smart contracts is most of the fees known from conventional crowdfunding platforms are eliminated. However, possible business uses cases could involve a small fee when creating projects or after successful campaigns, directly programmed into the smart contract.

Typical crowdfunding campaigns offer rewards to contributors for specific amounts. On top of that, CrowdMINT plans to leverage NFTs to incentivize funders. By choosing this option, the amount above the funding goal will be distributed to the holders of minted NFTs and based on the percentage defined by the campaign creator.

Example:

  • Funding goal was set to 100'000 CKB and reached 500'000 CKB
  • 50% of the amount above goal will be distributed to eligible funders
  • NFT minting was limited to 100 with a unit price of 1'000 CKB
  • Funder A minted 2 NFTs
  • Funder B minted 10 NFTs

Both funders A and B not only contributed to make this crowdfunding project a success but also get a ROI.

  • 50% of 400'000 CKB = 200'000 CKB is distributed among eligible funders
  • Funder A gets 2% of 200'000 CKB = 4'000 CKB (2'000 CKB profit)
  • Funder B gets 10% of 200'000 CKB = 20'000 CKB (10'000 CKB profit)

A decentralized crowdfunding solution such as CrowdMINT could have a great impact on the community leading to a higher number of successful projects started on Nervos.

Table of Content:

Demo

Video Walkthrough: https://youtu.be/s-3PJrl0gQQ

Live Demo: https://niklr.github.io/crowdmint/

Before accessing the live demo, please make sure to complete the following steps:

Architecture

CrowdMINT architecture

The contracts can be found in the contracts folder. They are built using Solidity in combination with Hardhat.

The workers can be found in the workers folder. They are built using TypeScript and run as part of GitHub Actions. Pinata was selected in order to pin data hosted on IPFS. Whenever a project gets created or updated, the worker will detect and handle the events initiated by the smart contract.

The frontend can be found in the client folder. It is built using React and GraphQL in combination with TypeScript. For design & layout purposes the Material UI framework has been chosen.

All components are using Polyjuice Provider to interact with Nervos Layer 2 (Godwoken).

Roadmap

2021.Q4

Alpha release on Nervos Layer 2 Godwoken Testnet with the focus on functionalities for a minimum viable product.

  • Start new projects as a creator
  • Contribute to projects as an individual
  • Withdraw as a creator or individual

2022.Q1

Implement ERC-721 Non-Fungible Token standard.

  • Enable project creators to leverage NFTs to incentivize funders
  • Mint project NFTs and collect NFT rewards as an individual
  • Beta release on Nervos Layer 2 Godwoken Testnet

2022.Q2

Public release on Nervos Layer 2 Godwoken Mainnet.

  • Security audit of smart contracts
  • Integrate The Graph to improve querying performance
  • Automatized social media promotion covering trending projects

2022.Q3

Airdrop governance token which allows token holders to help shape the future of CrowdMINT.

Establish DAO to decentralize the decision-making process:

  • Approve new projects and vote-based promotion on start page
  • Flag misconducting users to be suspended or banned

Setup

The setup is split into 3 parts; contracts, workers and client. All parts require Node v14+ and Yarn to be installed.

To install all dependencies just run the following command in the folder containing this README:

yarn install-all

Setup Godwoken Network in MetaMask

https://github.com/Kuzirashi/gw-gitcoin-instruction/blob/master/src/tasks/7.port.eth.dapp.md

Godwoken Testnet
Network Name: Godwoken Testnet
RPC URL: https://godwoken-testnet-web3-rpc.ckbapp.dev
Chain ID: 71393
Currency Symbol: <Leave Empty>
Block Explorer URL: <Leave Empty>
Godwoken Devnet
Network Name: Godwoken Devnet
RPC URL: http://localhost:8024
Chain ID: 1024777
Currency Symbol: <Leave Empty>
Block Explorer URL: <Leave Empty>

Create a Godwoken Account by Making a Layer 2 Deposit

https://github.com/Kuzirashi/gw-gitcoin-instruction/blob/master/src/component-tutorials/4.layer2.deposit.md

Impressions

CrowdMINT impression 1

CrowdMINT impression 2

CrowdMINT impression 3

crowdmint's People

Contributors

niklr avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.